(第1実施形態)
以下、本発明の一実施形態について説明する。図1に、本実施形態に係る車載制御システム1の構成を示す。この車載制御システム1は、車輪速度センサ11、車体加速度センサ13、ブレーキアクチュエータ14、警報装置15、および制御装置16を有している。
車輪速度センサ11は、車載制御システム1が搭載された車両(以下、自車両という)の4つの車輪(すなわち、右前輪FR、左前輪FL、右後輪RR、左後輪RL)のそれぞれについての車輪の速度を検出して制御装置16に出力する装置である。車体加速度センサ13は、車両の前後方向の移動加速度を検出して制御装置16に出力する装置である。
ブレーキアクチュエータ14は、各車輪FR、FL、RR、RLのそれぞれに対応したホイールシリンダにブレーキ液を供給することで、各車輪FR、FL、RR、RLにブレーキ力を発生させる装置である。このブレーキアクチュエータ14は、制御装置16からの制御に従って、供給するブレーキ液の液圧を、各車輪FR、FL、RR、RL毎に独立に調整することができるようになっている。警報装置15は、ランプ、ディスプレイ、スピーカ等を有し、制御装置16からの制御に従って、光、映像、音等によってユーザに警報を伝える装置である。
制御装置16は、CPU61、RAM62、ROM63、フラッシュメモリ64等を有する周知のマイコンである。CPU61は、ROM63に記録されているプログラムを実行し、その実行の際に、必要に応じて、RAM62、フラッシュメモリ64に対してデータの書き込みおよび読み出しを行い、ROM63からデータを読み出し、車輪速度センサ11、車体加速度センサ13からの信号を取得し、ブレーキアクチュエータ14、警報装置15を制御する。
具体的には、制御装置16は、自車両のABS(アンチロックブレーキ)制御を行う。そして、後述する通り、このABS制御において、ROM(記録媒体の一例に相当する)63に記憶されたW/B(ホイールベース)記録値63aを使用する。
W/B記録値63aは、車両のホイールベースを示す所定値である。このW/B記録値63aは、ROM63にあらかじめ(例えば、制御装置16の製造時、車載制御システム1の自車両への搭載時等)記録されている。
W/B記録値63aの値は、制御装置16についての複数のW/B基準値のうち1つである。ある制御装置についてのW/B基準値は、当該制御装置が搭載されることが想定される車種におけるホイールベースのバリエーションに応じて、あらかじめ決められたものである。すなわち、当該車種の車両のいずれかにW/B記録値として設定するようにあらかじめ取り決められている値である。
本実施形態においては、W/B基準値は、3メートル、4メートル、5メートル、および6メートルである。これは、本実施形態の自車両と同種の車両のホイールベースのバリエーションが、3メートル、4メートル、5メートル、および6メートルであることを示している。
なお、通常であれば、W/B記録値63aの値は、自車両の実際のホイールベースと一致する。しかし、制御装置16が元々同種の他の車両に搭載されており、後にこの自車両に移し変えられたという経緯がある場合、W/B記録値63aの値は、自車両の現実のホイールベースと一致するとは限らない。自車両の現実のホイールベースとW/B記録値63aの値が異なっている場合、制御装置16が行うABS制御が自車両の特性に適したものでなくなる可能性がある。
本実施形態の制御装置16は、W/B記録値63aが自車両に適合しているか否かを判定し、適合していない場合には、各種異常対策処理を実行するようになっている。以下、制御装置16の作動について詳しく説明する。
図2に、制御装置16のCPU61がプログラムを実行することで実現する各種処理およびそれら処理間の関係をブロック図で示す。CPU61は、W/B計測処理20、W/B読み出し処理21、第1有効判定処理22、第2有効判定処理23、第1異常判定処理24、第2異常判定処理25、ABS制御処理26を実行する。W/B読み出し処理21は、ROM63中のW/B記録値63aを読み出す処理である。
W/B計測処理20は、自車両の現実のホイールベースを繰り返し検出するための処理である。本実施形態においてCPU61は、このW/B計測処理20において、車両の前輪に振動が発生した時間と、当該振動に対応する振動が車両の後輪に発生した時間と、の差に、自車両の車体の速度を乗算し、その乗算の結果を、ホイールベースの計測値(以下、W/B計測値という;特許請求の範囲のホイールベース値の一例に相当する)とするようになっている。
以下、W/B計測処理20の詳細について説明する。このW/B計測処理20のためのサブ処理として、CPU61は、図3、4に示す車両状態有効判定処理、および、図5〜7に示すW/B長演算処理をそれぞれ並列的に実行する。以下、この車両状態有効判定処理およびW/B長演算処理について、図8に示すタイミングチャートを参照して説明する。
車両状態有効判定処理は、各車輪FL、FR、RL、RRの振動を検出したときの車両状態が安定しているか否かを判定するための処理である。W/B長演算処理は、車両の走行中に検出された各種テータに基づいて後述するホイールベースの計測値を算出するための処理である。なお、図8に示すタイミングチャートでは、説明理解の便宜上、車輪FR、FL、RR、RLが路面上の異物を踏まない限り、車両の車体加速度および各車輪FR、FL、RR、RLの車輪速度の変化はないものとする。
まず、図3および図4に示す車両状態有効判定処理について図8に示すタイミングチャートと共に説明する。CPU61は、所定周期毎(例えば0.01秒毎)に車両状態有効判定処理を実行する。そして、この車両状態有効判定処理において、CPU61は、車体加速度センサ13からの入力信号に基づき車体加速度GXを演算する(ステップS10)。続いてCPU61は、後述するW/B長演算処理にて前輪FR、FLの振動が検出されたか否か、すなわち、後述する前輪振動検出フラグが「ON」にセットされているか否か、を判定する(スナッブS11)。
ステップS11の判定結果が否定判定である場合、CPU61は、その否定判定時から前側第1所定時間TF1だけ遡った時点までの期間における車体加速度GXの最大値をGXTF1として取得してRAM62に記録する(ステップS12)。このステップS12の処理は、ステップS11において肯定判定が為される直前まで繰り返される。したがって、ステップS11において肯定判定が為された直後のGXTF1の値は、前輪FR、FLの振動を検出した場合において、その直前の前側第1所定時間TF1内でステップS10にて検出された各車体加速度GXのうち最も大きな値となる。ステップS12の後、CPU61は、その処理を後述するステップS24に移行する。
一方、ステップS11の判定結果が肯定判定である場合、CPU61は、前輪FR、FLの振動が検出された直後の前側第2所定時間TF2内における車体加速度GXの最大値GXTF2を取得する(ステップS13)。具体的には、CPU61は、前輪FR、FLの振動を検出した場合において、その直後の前側第2所定時間TF2内でステップS10にて検出された各車体加速度GXのうち最も大きな値を最大値GXTF2としてRAM62の所定領域に記憶させる。
なお、詳しくは後述するが、前輪FR、FLの振動は、前輪FR、FL用の車輪速度センサ11からの入力信号に基づき検出される。このように前輪FR、FLが振動した場合には、車両の車体加速度GXも前輪FR、FLの振動に基づき変化する。すなわち、車両状態が変化する。しかし、前輪FR、FLの振動に基づきCPU61に信号を出力するタイミングは、車輪速度センサ11と車体加速度センサ13とでは多少異なる。
そのため、本実施形態では、CPU61は、車輪速度センサ11からの入力信号に基づき前輪FR、FLの振動を検出した前後の前側所定時間(前側第1所定時間TF1および前側第2所定時間TF2)内で、車体加速度センサ13からの入力信号に基づき車体加速度GXの変化を検出している。そして、車体加速度GXの変化(車両状態の変化)が検出された場合に、前輪FR、FLが振動したと判定するようになっている、なお、前側第1所定時間TF1および前側第2所定時間TF2は、これらの合計が例えば約0.1秒となるようにそれぞれ設定される。
ステップS13に続いてCPU61は、図8(b)に示すように、前輪FR、FLの振動が検出されてからあらかじめ設定された前側検出後時間TF3が経過するまでの期間における前輪FR、FLの車輪加速度DVWFR、DVWFLの最大値(最大前輪加速度)DVWFRTF3、DVWFLTF3をそれぞれ取得する(ステップS14)。なお、前輪FR、FLの車輪加速度DVWFR、DVWFLは、後述するW/B長演算処理のステップS30、S31の各処理を実行することによりそれぞれ検出される。また、前側検出後時間TF3は、前側第2所定時間TF2よりも短い時間に設定されている。
そして、CPU61は、後述するW/B長演算処理にて後輪RR、RLの振動が検出されたか否か(すなわち、後述する後輪振動検出フラグが「ON」にセットされているか否か)を判定する(ステップS15)。
この判定結果が否定判定である場合、CPU61は、その否定判定時から後側第1所定時間TR1だけ遡った時点までの期間における車体加速度GXの最大値をGXTR1として取得してRAM62に記録する(ステップS16)。このステップS16の処理は、ステップS15において肯定判定が為される直前まで繰り返される。したがって、ステップS15において肯定判定が為された直後のGXTR1の値は、後輪RR、RLの振動を検出した場合において、その直前の後側第1所定時間TR1内でステップS10にて検出された各車体加速度GXのうち最も大きな値となる。ステップS16の後、CPU61は、その処理を後述するステップS24に移行する。
一方、ステップS15の判定結果が肯定判定である場合、CPU61は、後論RR、RLの振動が検出された直後の後側第2所定時間TR2内における車体加速度GXの最大値GXTR2を取得する(ステップS17)。具体的には、CPU61は、後輪RR、RL
の振動を検出した場合において、その直後の後側第2所定時間TR2内でステップSl0にて検出された各車体加速度GXのうち最も大きな値を最大値GXTR2としてRAM42の所定領域に記憶させる。
ここで、後輪RR、RLの振動は、前輪FR、FLの振動検出と同様に、後輪RR、RL用の車輪速度センサ11からの入力信号に基づき検出される。このように後輪RR、RLが振動した場合には、車両の車体加速度GXも後輪RR、RLの振動に基づき変化する。すなわち、車両状態が変化する。しかし、後論RR、RLの振動に基づきCPU61に信号を出力するタイミングは、車輪速度センサ11と車体加速度センサ13とでは多少異なる。
そのため、本実施形態では、CPU61は、車輪速度センサ11からの入力信号に基づき後輪RR、RLの振動を検出した前後の後側所定時間(後側第1所定時間TR1および後側第2所定時間TR2)内で、車体加速度センサ13からの入力信号に基づき車体加速度GXの変化を検出している。そして、車体加速度GXの変化(車両状態の変化)が検出された場合に、後輪RR、RLが振動したと判定するようになっている、なお、後側第1所定時間TR1および後側第2所定時間TR2は、これらの合計が約0.1秒となるようにそれぞれ設定される。
そして、CPU61は、ステップS17の処理を実行した後、図8(c)に示すように、後輪RR、RLの振動が検出されてからのあらかじめ設定された後側検出後時間TR3が経過するまでの間での後輪RR、RLの車輪加速度DVWRR、DVWRLの最大値(最大後輪加速度)DVWRRTR3、DVWRLTR3をそれぞれ取得する(ステップS18)。なお、後輪RR、RLの車輪加速度DVWRR、DVWRLは、後述するW/B長演算処理のステップS32、S33の各処理を実行することによりそれぞれ検出される。また、後側検出後時間TR3は、後側第2所定時間TR2よりも短い時間であると共に、前側検出後時間TF3と同一時間に設定されている。
続いて、CPU61は、ステップS12にて取得した最大値GXTF1と、ステップS13にて取得した最大値GXTF2とを比較して、大きい方の値を前側振動最大値GXFmaxに設定する(ステップS19)。続いて、CPU61は、ステップS16にて取得した最大値GXTR1と、ステッブS17にて取得した最大値GXTR2とを比較して、大きい方の値を後側振動最大値GXRmaxとして取得する(ステップS20)。
そして、CPU61は、ステップS19にて設定された前側振動最大値GXFmaxがあらかじめ設定された前側振動最大値閾値KGXFaxよりも大きいか否かを判定する(ステップS21)。この前側振動最大値閾値KGXFmaxは、前輪FR、FLの振動に起因して車両の車体加速度GXが変化したか否かを判定するものであって、あらかじめ実験やシミュレーションなどによって設定される。
ステップS21の判定結果が否定判定(GXFmax≦KGXFmax)である場合、CPU61は、前輪FR、FLの振動に起因した車両の車体加速度GXの変化が検出されていないものと判断し、その処理をステップS24に移行する。
一方、ステップS21の判定結果が肯定判定(GXFmax>KGXFmax)である場合、CPU61は、前輪FR、FLの振動に起因した車両の車体加速度GXの変化が検出されたものと判断し、ステップS20にて設定された後側振動最大値GXRmaxがあらかじめ設定された後側振動最大値閾値KGXRmaxよりも大きいか否かを判定する(ステップS22)。この後側振動最大値閾値KGXRmaxは、後輪RR、RLの振動に起因して車両の車体加速度GXが変化したか否かを判定するものであって、あらかじめ実験やシミュレーションなどによって設定される。
ステップS22の判定結果が否定判定(GXRmax≦KGXRmax)である場合、CPU61は、後輪RR、RLの振動に起因した車両の車体加速度GXの変化が検出されていないものと判断し、その処理をステップS24に移行する。
一方、ステップS22の判定結果が肯定判定(GXRmax>KGXRmax)である場合、CPU61は、後輪RR、RLの振動に起因した車両の車体加速度GXの変化が検出されたものと判断し、車両状態有効判定フラグSJFLGを「ON」にセットする(ステップS23)。その後、CPU61は、車両状態有効判定処理を終了する、なお、この東両状態有効判定フラグSJFLGは、前輪FR、FLの振動に基づき車両の車体加速度GXが変化すると共に、後輪RR、RLの振動に基づき車両の車体加速度GXが変化した場合に「ON」にセットされるフラグである、そして、この車両状態有効判定フラグSJFLGが「ON」にセットされた場合、後述する図6のステップS59の実行が許可される。
ステップS24において、CPU61は、車両状態有効判定フラグSJFLGを「OFF」にセットする。その後、CPU61は、車両状態判定処理ルーチンを終了する。
次に、図5および図6に示すW/B長演算処理について図8に示すタイミングチャートと共に説明する。CPU61は、所定周期毎(例えぱ0.01秒毎)にW/B長演算処理を実行する。そして、W/B長演算処理において、CPU61は、前輪FR、FL用の車輪速度センサ11からの入力信号に基づき前輪FR、FLの車輪速度VWFR、VWFLを演算することによりそれぞれ検出する(ステップS30)。
続いてCPU61は、ステップS30にて検出した前輪FR、FLの車輪速度VWFR、VWFLをそれぞれ微分することにより、前輪FR、FLの車輪加速度DVWFR、DVWFLを演算によりそれぞれ検出する(ステップS31)。
そして、CPU61は、後輪RR、RL用の車輪速度センサ11からの入力信号に基づき後輪RR、RLの車輪速度VWRR、VWRLを演算することによりそれぞれ検出する(ステップS32)。
続いてCPU61は、ステップS32にて検出した後輪RR、RLの車輪速度VWRR、VWRLをそれぞれ微分することにより、後輪RR、RLの車輪加速度DVWRR、DVWRLを演算によりそれぞれ検出する(ステップS33)。
続いて、CPU61は、ステップS30、S32にて検出した各車輪FR、FL、RR、RLの車輪速度VWFR、VWFL、VWRR、VWRLのうち最も値の小さな車輪速度を基準に、各種処理を行うことにより(すなわち、変化量の勾配制限やフィルタリングなどを行うことにより)、車両の車体速度VSを演算により検出する(ステップS34)。なお、CPU61は、各車輪速度のうち最も値の大きな車輪速度、2番目に大きな値の車輪速度、3番目に大きな値の車輪速度、および各車輪FR、FL、RR、RLの車輸速度VWFR、VWFL、VWRR、VWRLの平均値、のうちいずれか1つを基準にして、車両の車体速度VSを演算により検出するようにしてもよい。後述するCPU61の他の処理においても、車体速度は同様に算出する。
そして、CPU61は、ステップS30にて検出した右前輪FRの車輪速度VWFRと左前輪FLの車輪速度VWFLとの車輪速度差の絶対値を算出し、当該絶対値があらかじめ設定された旋回量閾値KR以上であるか否かを判定する(ステップS35)。車両の旋回時においては、右前輪FRと左前輪FLとの間では車輪速度差が発生する。そのため、本実施形態では、右前輪FRの車輪速度VWFRと左前輪FLの車輪速度VWFLとの車輪速度差を算出し、該算出結果の絶対値が旋回量閾値KR以上である場合に、CPU61は、車両が旋回しているものと判断する。
そして、ステップS35の判定結果が肯定判定である場合、CPU61は、車両が旋回中であるものと判断し、その処理を後述するステップS37に移行する。一方、ステップS35の判定結果が否定判定である場合、CPU61は、車両は非旋回中であるものと判断し、ブレーキペダルが踏み込み操作されたか否かを検出するブレーキスイッチSW1(図示せず)からの入力信号が「ON」であるか否かを判定する(ステップS36)、すなわち、CPU61は、図示しないブレーキペダルが踏み込み操作されたか否かを判定する。そして、ステップS36の判定結果が肯定判定である場合、CPU61は、各車輪FR、FL、RR、RLにブレーキアクチュエータ14によって制動力が
付与されていると判断し、その処理を後述するステップS37に移行する。
ステップS37において、CPU61は、ステップS59の処理が実行中であるか否かを示す演算処理フラグFWBCALを「OFF」にセットし、その後、W/B長演算処理を終了する。
一方、ステップS36の判定結果が否定判定である場合、CPU61は、上記演算処理フラグFWBCALが「ON」にセットされているか否かを判定する(ステップS38)。この判定結果が否定判定(FWBCAL=「OFF」)である場合、CPU61は、ステップS31にて検出された前輪FR、FLの車輪加速度DVWFR、DVWFLがあらかじめ設定された前輪加速度閾値KDVWF以上であるか否かを判定する(ステップS39)。
この前輪加速度閾値KDVWFは、前輪FR、FLの車輪加速度DVWFR、DVWFLから前輪FR、FLの振動が検出されたか否かを判断するための値であって、あらかじめ実験やシミュレーションなどによって設定される。そのため、このステップS39の判定処理が肯定判定になった場合、CPU61が、前輪FR、FLの振動を検出したことになる。
そして、ステップS39の判定結果が否定判定(DVWFRおよびDVWFL<KDVWF)である場合、CPU61は、前輪FR、FLの振動を検出できなかったものと判断し、前輪振動検出フラグFVflgを「OFF」にセットすると共に、後論振動検出フラグRVflgを「OFF」にセットする(ステップS40)、その後、CPU61は、W/B長演算処理を終了する。なお、前輪振動検出フラグFVflgは、前輪FR、FLの振動が検出された場合(すなわち、後述するステップS39の判定処理が肯定判定になった場合)に「ON」にセットされるフラグである。また、後輪振動検出フラグRVflgは、後輪RR、RLの振動が検出された場合(すなわち、後述するステップS51の判定処理が肯定判定になった場合)に「ON」にセットされるフラグである。
一方、ステップS39の判定結果が肯定判定(DVWFRまたはDVWFL≧KDVWF)である場合、CPU61は、前輪FR、FLが振動したものと判断し、前輪振動検出フラグFVflgを「ON」にセットすると共に、後輪振動検出フラグRVflgを「OFF」にセットする(ステップS41)。
そして、CPU61は、時間の経過を計測する図示しないタイマがカウントアップしている時間(以下、「前側検出時間」という。)TVWFを取得し、その前側検出時間TVWFをRAM62の所定領域に記憶させる(ステップS42)。続いてCPU61は、その時点での車体速度(ステップS34の演算処理にて検出された車体速度)VSを取得し、その車体速度VSを前輪振動時の車両の車体速度(以下、「前側検出時車体速度」という)VSFとしてRAM62の所定領域に記憶させる(ステップS43)。
そして、CPU61は、上記演算処理フラグFWBCALを「ON」にセットし(ステップS44)、その後、W/B長演算処理を一旦終了する。
その一方で、ステップS38の判定結果が肯定判定(FWBCAL=「ON」)である場合、CPU61は、ステップS43にて検出した前側検出時車体速度VSFからステップS34にて検出した車体速度VSを減算することにより、車体速度変化量HVSを算出する(ステップS45)。
そして、CPU61は、ステップS45の算出結果である車体速度変化量HVSの絶対値があらかじめ設定された車体速度変化量閾値KHVS以下であるか否かを判定する(ステップS46)。この車体速度変化量閾値KHVSは、車体速度の変化量が大きい場合には後述するW/B計測値の算出処理を停止させるための値であって、あらかじめ実験やシミュレーションなどによって設定される。そして、ステップS46の判定結果が否定判定(HVSの絶対値>KHVS)である場合、CPU61は、上記演算処理フラグFWBCALを「OFF」にセットし(ステップS47)、前輪振動検出フラグFVflgおよび後輪振動検出フラグRVflgをそれぞれ「OFF」にセットする(ステップS48)。その後、CPU61は、W/B長演算処理を終了する。
一方、ステップS46の判定結果が肯定判定(HVSの絶対値≦KHVS)である場合、CPU61は、ステップS33にて検出された後輪RR、RLの車輪加速度DVWRR、DVWRLがあらかじめ設定された後輪加速度閾値KDVWR以上であるか否かを判定する(ステップS51)。この後輪加速度閾値KDVWRは、後輪RR、RLの車輪加速度DVWRR、DVWRLから後輪RR、RLの振動が検出されたか否かを判断するための値であって、あらかじめ実験やシミュレーションなどによって設定される。そのため、このステップS51の判定処理が肯定判定になった場台、CPU61が、後輪RR、RLの振動を検出したことになる。
そして、ステップS51の判定結果が否定判定(DVWRRおよびDVWRL<KDVWR)である場合、CPU61は、後輪RR、RLの振動を検出できなかったものと判断し、後輪振動検出フラグRVflgを「OFF」にセットし(ステップS52)、その後、W/B長演算処理を一旦終了する。
一方、ステップS51の判定結果が肯定判定(DVWRRまたはDVWRL≧KDVWR)である場合、CPU61は、後輪RR、RLが振動したものと判断し、後輪振動検出フラグRVflgを「ON」にセットする(ステップS53)。そして、CPU61は、上記ステップS14にて取得した右前輪FRの車輪加速度DVWFRの最大値DVWFRTF3から上記ステップS18にて取得した右後輪RRの車輪加速度DVWRRの最大値DVWRRTR3を減算し、その減算結果の絶対値があらかじめ設定された変化量閾値KDVW以下であるか否かを判定する(ステップS54)、この変化量閾値KDVWは、前輪FR、FLの車輪加速度DVWFR、DVWFLの最大値DVWFRTF3、DVWFLTF3と後輪RR、RLの車輪加速度DVWRR、DVWRLの最大値DVWRRTR3、DVWRLTR3との差が大きすぎる場合には後述するW/B計測値の演算処理を一旦停止させるための値であって、あらかじめ実験やシミュレーションなどによって設定される。
そして、ステップS54の判定拮果が肯定判定((DVWFRTF3−DVWRRTR3)の絶対値≦KDVW)である場合、CPU61は、その処理を後述するステップS57に移行する。一方、ステップS54の判定結果が否定判定((DVWFRTF3−DVWRRTR3)の絶対値>KDVW)である場合、CPU61は、その処理をステップS55に移行する。すなわち、本実施形態では、CPU61は、右前輪FRの振動が検出された場合には右後輪RRの振動を検出するようになっている。
このステップS55において、CPU61は、上記ステップS14にて取得した左前輪FLの車輪加速度DVWFLの最大値DVWFLTF3からステップS18にて取得した左後輪RLの車輪加速度DVWRLの最大値DVWRLTR3を減算し、その減算結果の絶対値が変化量閾値KDVW以下であるか否かを判定する、この判定結果が否定判定((DVWFLTF3−DVWRLTR3)の絶対値>KDVW)である場合、CPU61は、前輪振動検出フラグFVflgおよび後輪振動検出フラグRVflgをそれぞれ「OFF」にセットし(ステップS56)、W/B長演算処理を一旦終了する。
一方、ステップS55の判定結果が肯定判定((DVWFLTF3−DVWRLTR3)の絶対値≦KDVW)である場合、CPU61は、その処理を後述するステップS57に移行する、すなわち、本実施形態では、CPU61は、左前輪FLの振動が検出された場合には左後輪RLの振動を検出するようになっている。
ステップS57において、CPU61は、上述のタイマがカウントアップしている時間(以下、「後側検出時間」という)TVWRを取得し、その後側検出時間TVWRをRAM62の所定領域に記憶させる、続いて、CPU61は、その時点での車体速度(ステップS34の演算処理にて検出された車体速度)VSを取得し、当該車体速度VSを後輪振動時の車両の車体速度(以下、「後側検出時車体速度」という)VSRとしてRAM62の所定領域に記憶させる(ステップS58)。
そして、CPU61は、ステップS59(図7にその内容を詳述する)を実行することにより、W/B計測値を演算し、そのW/B計測値をRAM62の所定領域に記憶させる。続いて、CPU61は、上記演算処理フラグFWBCALを「OFF」にセットし(ステップS60)、その後、W/B長演算処理を終了する。
なお、本実施形態では、W/B長演算処理では記載していないが、上記ステップS44にて演算処理フラグFWBCALが「ON」にセットされてからの経過時間があらかじめ設定された経過時間閾値以上になった場合には、CPU61は、演算処理フラグFWBCALを「OFF」にセットすると共に、前輪振動検出フラグFVflgおよび後輪振動検出フラグRVflgをそれぞれ「OFF」にセットする。この経過時間閾値は、前輪FR、FLの振動が検出されてから後輪RR、RLの振動が検出されるまでの経過時間が長すぎる場合、後輪RR、RLの振動を検出できなかったと判断するための値であって、あらかじめ実験やシミュレーションなどによって設定される。
ここで、図8(a)に示すように、車両Cの走行中において各車輪FR、FL、RR、RLが路面上の異物Fを踏んでいない場合、前輪FR、FLの車輪加速度DVWFR、DVWFLの変化は、ほとんどないと共に、後輪RR、RLの車輪加速度DVWRR、DVWRLの変化も、ほとんどない。また、車両の車体加速度GXの変化も、ほとんどない。
しかし、図8(b)に示すように、各車輪FR、FL、RR、RLのうち前輪FR、FLが路面上の異物Fを踏んでしまった場合には、前輪FR、FLの車輪加速度DVWFR、DVWFLが大きく変化すると共に、車両の車体加速度GXも大きく変化する。しかも、車体加速度GXの変化(車両状態の変化)が、前輪FR、FLの車輪加速度DVWFR、DVWFLの変化が検出された直後の前側第2所定時間TF2内に表れている、その結果、路面上の異物Fを踏んだことに起因した前輪FR、FLの振動が、検出される。
その後、図8(c)に示すように、各車輪FR、FL、RR、RLのうち後輪RR、RLが路面上の異物Fを踏んでしまった場合には、後輪RR、RLの車輪加速度DVWRR、DVWRLが大きく変化すると共に、童画の車体加速度GXも大きく変化する。しかも、車体加速度GXの変化(車両状態の変化)が、後輪RR、RLの車輪加速度DVWRR、DVWRLの変化が検出される直前の後側第1所定時間TR1内に表れている。その結果、路面上の異物Fを踏んだことに起因した後輪RR、RLの振動が、検出される。
次に、上記W/B長演算処理のステップS59で実行される処理について図7に示すフローチャートに基づき以下説明する。
算出W/B長演算処理ステップS59において、CPU61は、上記車両状態有効判定フラグSJFLGが「ON」にセットされているか否かを判定する(ステップS65)。この判定結果が否定判定(SJFLG=「OFF」)である場合、CPU61は、算出W/B長演算処理を終了する。一方、ステップS65の判定結果が肯定判定(SJFLG=「ON」)である場合、CPU61は、上記ステップS42にて取得した前側検出時間TVWFをRAM62から読み出すと共に、上記ステップS57にて取得した後側検出時間TVWRをRAM62から読み出す。そして、CPU61は、後側検出時間TVWRから前側検出時間TVWFを減算することにより、間隔時間DTVWを算出する(ステップS66)。
続いて、CPU61は、上記ステップS43にて検出した前側検出時車体速度VSFをRAM62から読み出すと共に、上記ステップS58にて検出した後側検出時車体速度VSRをRAM62から読み出す。そして、CPU61は、後側検出時車体速度VSRと前側検出時車体速度VSFとの平均値を算出し、その平均値を平均車体速度VSAVに設定する(ステップS67)。このように、本実施形態では、ホイールベース長の設定時において車両の車体速度の検出が複散回(2回)実行された場合に、これら各車体速度VSF、VSRの平均値である平均車体速度VSAVを算出する。
そして、CPU61は、ステップS66にて算出された間隔時間DTVWとステップS67にて算出された平均車体速度VSAVとを乗算することにより、算出ホイールベース長LWBを算出し、該W/B計測値LWBをRAM62の所定領域に記憶させる(ステップS68)。その後、CPU61は、ステップS59の処理を終了する。
W/B計測処理20において、以上のような処理を行うことで、ステップS68を1回実行する度に、ホイールベースの計測値を1回取得することができる。
次に、ABS制御処理26について説明する。ABS制御処理26は、車両の各車輪FR、FL、RR、RLのいずれかのスリップを検出し、そのスリップした車輪がロック状態にならないように、当該車輪へのブレーキ力を調整するべく、ブレーキアクチュエータ14を制御する処理である。このABS制御処理26のサブ処理として、CPU61は、鈍化制御処理261およびμスプリット対応制御処理262を実行する。
鈍化制御処理261は、ABS制御処理26において、車輪のスリップの検出条件をある期間だけ通常より厳しくすることで、その期間においてロック防止の機能が作動し難くする処理である。ここで、車輪のスリップの検出条件を厳しくするとは、例えば、ある車輪の速度と自車両の車体の速度とのずれがある閾値よりも大きくなったことに基づいて、ロック防止機能が作動するようになっている場合においては、当該閾値を高くすることに相当する。
鈍化制御処理261において、CPU61は、車両の前輪のスリップが発生した時点または車輪速度の所定量以上の減少があった時点において、その前輪が位置する路面上の点に隆起があるものと判断する。そして、その隆起部分が後輪に達するまでの時間(以下、鈍化時間という)tを、自車両の車体の速度u、および車体加速度センサ13から取得した車体の加速度a、およびホイールベース値sに基づいて、
s=u・t+a・t2/2
という等式を利用して算出する。したがって、鈍化時間tは、図9のグラフに示すように、ホイールベースsの値が増加するほど増加するようになっている。さらに、算出した時間tの経過時およびその前後の余裕期間において、車輪のスリップの検出条件を通常より厳しくする。
この鈍化制御処理261においてCPU61が用いるホイールベース値sは、第1異常判定処理24から後述する指令のデータを受けるまでは、W/B読み出し処理21によって読み出されたW/B記録値63aである。ただし、第1異常判定処理24から指令のデータを受けた場合、その指令に従った値をホイールベース値sとして用いる。具体的には、第1異常判定処理24からの指令に基づいて使用するホイールベース値sは、W/B記録値63a、および、W/B計測処理20によって計測されたW/B計測値に基づく値のうちいずれかである。
μスプリット対応制御処理262は、右側車輪の下の路面摩擦係数(以下、右μという)と左側車輪の下の路面摩擦係数(以下、左μという)とが異なるようなμスプリット路において、右μと左μとの差、すなわち左右μ差の大小に応じて、2段階でABS制御の内容を変化させる処理である。
具体的には、左右μ差についての閾値KMIを用いて、以下のように制御内容を変化させる。すなわち、左右μ差が閾値KMI未満の場合、独立制限制御(制動重視車両制御の一例に相当する)を行い、左右μ差が閾値KMI以上の場合、セレクトロー制御(安定重視車両制御の一例に相当する)を行う。
ここで、セレクトロー制御においては、スリップの大きい側の車輪(すなわち路面摩擦係数が小さい側の車輪)のスリップ状態に合わせて、当該車輪および他の車輪のブレーキ力を制御する。また、独立制限制御においては、スリップの大きい側の車輪については、当該車輪のスリップ状態に合わせて、当該車輪のブレーキ力を制御し、また、スリップの小さい側の車輪(すなわち路面摩擦係数が大きい側の車輪)については、当該車輪のスリップ状態に合ったブレーキ力よりも小さく、かつ、スリップの大きい側の車輪のスリップに合ったブレーキ力よりも大きくなるよう、当該スリップの小さい側の車輪のブレーキ力を制御する。
なお、本実施形態においては、左右μ差に相当する量として、ホイールシリンダに対して高い液圧が付与されている車輪の液圧が増加しており、かつホイールシリンダに対して低い液圧が付与されている車輪の液圧が減少している期間の持続時間を用いるようになっていてもよい。また、左右μ差に相当する量として、各車輪直下の摩擦係数を周知の技術で直接検出し、その差を左右μ差に相当する量として用いてもよい。
このようなμスプリット対応制御処理262により、車両全体の制動力は、独立制限制御の方がセレクトロー制御よりも高くなる。また、車両の安定性(すなわちヨートルクを抑える効果の高さ)は、セレクトロー制御の方が独立制限制御よりも高い。したがって、左右μ差が小さいときは車両の制動力を重視したABS制御が行われ、左右μ差が大きいときは車両の安定性を重視したABS制御が行われる。
ただし、μスプリット対応制御処理262においては、CPU61は、閾値KMIの値を、ホイールベース値sに応じて変化させる。図10に、閾値KMIとホイールベース値sとの間の関係を示す。この図に示す通り、W/Bの値をロングW/BとショートW/Bという2つで代表し、ホイールベース値がロングW/Bに該当する場合よりも、ホイールベース値がショートW/Bに該当する場合の方が、閾値KMIが小さくなるようにする(KMIS<KMIL)。
このようにすることで、ホイールベースが短い車両については安定性を重視したABS制御をより多用し、ホイールベースが長い車両について制動性を重視したABS制御をより多用する。このようにするのは、ホイールベースによって車両の安定度が異なるからである。
このμスプリット対応制御処理262においてCPU61が用いるホイールベース値sは、第2異常判定処理25から後述する指令のデータを受けるまでは、W/B読み出し処理21によって読み出されたW/B記録値63aである。ただし、第2異常判定処理25から指令のデータを受けた場合、その指令に従った値をホイールベース値sとして用いる。具体的には、第2異常判定処理25からの指令に基づいて使用するホイールベース値sは、W/B記録値63a、および、W/B計測処理20によって計測されたW/B計測値に基づく値のうちいずれかである。
なお、鈍化制御処理261については特許文献1で詳しく説明されており、μスプリット対応制御処理262中の左右μ差に応じたセレクトロー制御と独立制限制御の切り替えについては、特許文献2で詳しく説明されている。
次に、第1有効判定処理22について説明する。第1有効判定処理22は、W/B計測処理20で繰り返し算出されたW/B計測値が、W/B記録値63aに対する第1異常判定処理24に利用できる程度に信頼性が高いものであるか否かを、ある基準で判定する処理である。
具体的には、第1有効判定処理22を実行することで、CPU61は、あらかじめ決められた範囲グループA(具体的には2.9メートル以上3.1メートル以下のA1範囲、3.9メートル以上4.1メートル以下のA2範囲、4.9メートル以上5.1メートル以下のA3範囲、5.9メートル以上6.1メートル以下のA4範囲、という4つの範囲)のうちの特定の1つに、繰り返し取得されるW/B計測値が、基準回数A以上連続して属するときに、当該W/B計測値の信頼性が高い、すなわち有効である、と判定する。このA1〜A4の範囲は、図8の実施例で示されるW/B計測の測定誤差に応じて決定される。
ここで、範囲A1〜A4の各カテゴリは、それぞれが上述したW/B記録値63aのW/B基準値(3メートル、4メートル、5メートル、6メートル)に1対1に対応している。さらに、A1範囲〜A4範囲のそれぞれは、当該複数のW/B基準値のうち対応するW/B基準値を含み、他のW/B基準値を含まない離散的な範囲となっている。
したがって、これらA1範囲〜A4範囲は、1つの車種中でホイールベースが異なっている複数の車型に1対1で対応して設けられていることになる。したがって、後述する第1異常判定処理24でW/B計測値が適切であるか否かの判定に用いるためにW/B計測値とW/B記録値63aを当てはめる複数の範囲の区分けが、1つの車種についての設計のバリエーションに直接関連することになる。その結果、計測値が適切であるか否かの判定が、当該車種全体の設計仕様に適合したものとなる。
図11に、第1有効判定処理22のフローチャートを示す。CPU61は、このフローチャートの処理を、図7のステップS68が1回実行される度に1回実行する。この処理の1回の実行において、CPU61は、まずステップS105でW/B計測値が有効であると決定されている前であるか否かを判定し、既に決定されていれば終了する。なお、W/B計測値が有効であるとの決定は、ステップS145、S165、S185、およびS196のいずれかにおいてのみ行われる。
有効の決定前である場合、続いてステップS110、S115、S120、S125の処理により、範囲A1、範囲A2、範囲A3、範囲A4のそれぞれについて、W/B計測処理20によって測定された最新のW/B計測値が属するか否かを判定する。
範囲A1に属すると判定した場合(ステップS110参照)、続いてステップS130で、第1有効W/B値=3であるすなわちW/B値の真値が3である旨を示す判定カウンタA1の値を1だけ増加させ、さらに続いてステップS130で、他の判定カウンタA2、A3、A4の値をゼロにクリアする。
ここで、判定カウンタA2は、第1有効W/B値=4である旨を示すカウンタであり、判定カウンタA3は、第1有効W/B値=5である旨を示すカウンタであり、判定カウンタA4は、第1有効W/B値=6である旨を示すカウンタである。なお、判定カウンタA1〜A4の値は、フラッシュメモリ64に記録されており、車両IGON時にはゼロにセットされている。
続いてステップS140では、判定カウンタの値が基準回数A(本例では3)以上であるか否かを判定し、基準回数A未満であれば終了し、基準回数A以上であれば続いてステップS145を実行する。ステップS145では、W/B計測値が有効である旨を決定し、第1有効W/B値を3メートルとし、終了する。
範囲A2に属すると判定した場合(ステップS115参照)、続いてステップS150で、判定カウンタA2の値を1だけ増加させ、さらに続いてステップS155で、他の判定カウンタA1、A3、A4の値をゼロにクリアする。
続いてステップS160では、判定カウンタの値が基準回数A以上であるか否かを判定し、基準回数A未満であれば終了し、基準回数A以上であれば続いてステップS165を実行する。ステップS165では、W/B計測値が有効である旨を決定し、第1有効W/B値を4メートルとし、終了する。
範囲A3に属すると判定した場合(ステップS120参照)、続いてステップS170で、判定カウンタA3の値を1だけ増加させ、さらに続いてステップS175で、他の判定カウンタA1、A2、A4の値をゼロにクリアする。
続いてステップS180では、判定カウンタの値が基準回数A以上であるか否かを判定し、基準回数A未満であれば終了し、基準回数A以上であれば続いてステップS185を実行する。ステップS185では、W/B計測値が有効である旨を決定し、第1有効W/B値を5メートルとし、終了する。
範囲A4に属すると判定した場合(ステップS125参照)、続いてステップS190で、判定カウンタA4の値を1だけ増加させ、さらに続いてステップS192で、他の判定カウンタA1、A2、A3の値をゼロにクリアする。
続いてステップS194では、判定カウンタの値が基準回数A以上であるか否かを判定し、基準回数A未満であれば終了し、基準回数A以上であれば続いてステップS196を実行する。ステップS196では、W/B計測値が有効である旨を決定し、第1有効W/B値を6メートルとし、その後終了する。
W/B計測値が範囲A1〜A4のいずれにも属さない場合、ステップS198で、判定カウンタA1、A2、A3、A4の値をすべてゼロにクリアし、その後終了する。
以上のような処理をCPU61が繰り返し行うことで、例えば、W/B計測処理20によって3.09、2.95、3.03というW/B計測値を連続して取得した場合、ステップS105→S110→S130→S135→S140のループが3回繰り返された後、ステップS140で判定結果が肯定的となり、ステップS145で有効W/Bが3メートルに決定される。
しかし、例えば、W/B計測処理20によって3.09、3.11、3.03というW/B計測値を連続して取得した場合、最初のフローチャートの処理においてステップS130で判定カウンタA1が1に増加するものの、次のフローチャートの処理においてステップS198で判定カウンタA1がゼロにクリアされる。したがって3番目のフローチャートの処理においてステップS130で判定カウンタA1が1に増加するものの、まだW/B計測値が有効であるとの判定は為されない。
また例えば、W/B計測処理20によって3.09、4.95、3.03というW/B計測値を連続して取得した場合、最初のフローチャートの処理においてステップS130で判定カウンタA1が1に増加するものの、次のフローチャートの処理においてステップS170で判定カウンタA3が1に増加し、ステップS175で判定カウンタA1がゼロにクリアされる。したがって3番目のフローチャートの処理においてステップS130で判定カウンタA1が1に増加するものの、まだW/B計測値が有効であるとの判定は為されない。
なお、1度W/B計測値の有効が決定されると、その後はステップS105の判定結果が常に否定的になるので、第1有効W/B値は変化しない。なお、この第1有効W/B値は、有効性が確定したW/B計測値に相当する。言い換えれば、第1有効W/B値は、複数のW/B計測値がある複数回ある範囲に入ったときの、その範囲を代表する値である。また、第1有効W/B値は、複数のW/B計測値がある複数回ある範囲に入ったときの、それらのW/B計測値を代表する値である。この第1有効W/B値は、フラッシュメモリ64に記録される。
また、範囲A1と範囲A2との間隔の広さ、範囲A2と範囲A3との間隔の広さ、および、範囲A3と範囲A4との間隔の広さは、W/B計測処理20による計測の精度に応じて、精度が高いほど大きくなるように、あらかじめ決定されている。
次に、第2有効判定処理23について説明する。第2有効判定処理23は、W/B計測処理20で繰り返し算出されたW/B計測値が、W/B記録値63aに対する第2異常判定処理25に利用できる程度に信頼性が高いものであるか否かを、第1有効判定処理22とは異なる基準で判定する処理である。
具体的には、第2有効判定処理23を実行することで、CPU61は、あらかじめ離散的に設定された大小複数個の範囲グループB(具体的には2.7メートル以上4.3メートル以下の範囲B1、4.7メートル以上6.3メートル以下の範囲B2、という2つの範囲)のうちの特定の1つに、繰り返し取得されるW/B計測値が、基準回数B以上連続して属するときに、当該W/B計測値の信頼性が高い、すなわち有効である、と判定する。
ここで、B1範囲およびB2範囲は、μスプリット対応制御処理262における制御内容の振り分け(すなわち、閾値KMIの値の高低の切り替え)のためのカテゴリ(すなわち、ロングかショートかのカテゴリ)と1対1の関係で設けられていることになる。
したがって、後述する第2異常判定処理25でW/B計測値が適切であるか否かの判定に用いるためにW/B計測値とW/B記録値63aを当てはめる複数の範囲B1、B2の区分けが、μスプリット対応制御処理262における車両の制御内容の振り分けに直接関連することになる。その結果、W/B計測値が適切であるか否かの判定が、W/B計測値の利用対象の制御の特性に適合したものとなる。
図12に、第2有効判定処理23のフローチャートを示す。CPU61は、このフローチャートの処理を、図7のステップS68が1回実行される度に、第1有効判定処理22とは並列的に、1回実行する。この処理の1回の実行において、CPU61は、まずステップS305でW/B計測値が有効であると決定される前であるか否かを判定し、決定後であれば終了する。なお、W/B計測値が有効であるとの決定は、ステップS335、S355のいずれかにおいてのみ行われる。
なお、第1有効判定処理22におけるW/B計測値の有効性の決定は、第1異常判定処理24にとって有効であることの決定であり、第2有効判定処理22におけるW/B計測値の有効性の決定は、第2異常判定処理25にとって有効であることの決定であるので、これら2つの決定は無関係である。
有効の決定前である場合、続いてステップS310、S315の処理により、範囲B1、B2のそれぞれについて、W/B計測処理20によって測定された最新のW/B計測値が属するか否かを判定する。
範囲B1に属すると判定した場合(ステップS310参照)、続いてステップS320で、第2有効W/B値=ショート値である旨を示す判定カウンタB1の値を1だけ増加させ、さらに続いてステップS325で、第2有効W/B値=ロング値である旨を示す判定カウンタB2ゼロにクリアする。
続いてステップS330では、判定カウンタの値が基準回数B以上であるか否かを判定し、基準回数B未満であれば終了し、基準回数B以上であれば続いてステップS335を実行する。ステップS335では、W/B計測値が有効である旨を決定し、第2有効W/B値をショート値とし、終了する。
範囲B2に属すると判定した場合(ステップS315参照)、続いてステップS340で、判定カウンタB2の値を1だけ増加させ、さらに続いてステップS345で、判定カウンタB1の値をゼロにクリアする。
続いてステップS350では、判定カウンタの値が基準回数B以上であるか否かを判定し、基準回数B未満であれば終了し、基準回数B以上であれば続いてステップS355を実行する。ステップS355では、W/B計測値が有効である旨を決定し、第2有効W/B値をロング値とし、終了する。
W/B計測値が範囲B1、B2のいずれにも属さない場合、ステップS360、S365で、判定カウンタB1、B2の値をロにクリアし、終了する。
以上のような処理をCPU61が繰り返し行うことで、例えば、W/B計測処理20によって6.09、5.95、6.03というW/B計測値を連続して取得した場合、ステップS305→S310→S315→S340→S345→S350のループが3回繰り返された後、ステップS350で判定結果が肯定的となり、ステップS355で有効W/Bがロング値に確定する。
しかし、例えば、W/B計測処理20によって4.30、4.25、4.35というW/B計測値を連続して取得した場合、最初と2回目のフローチャートの処理においてステップS320で判定カウンタB1が0から2に増加するものの、3番目のフローチャートの処理においてステップS360で判定カウンタB1がゼロにクリアされる。したがって、この場合は、まだW/B計測値が有効であるとの判定は為されない。
なお、1度W/B計測値の有効が確定すると、その後はステップS305の判定結果が常に否定的になるので、第2有効W/B値は変化しない。なお、この第2有効W/B値は、有効性が確定したW/B計測値に相当する。言い換えれば、第2有効W/B値は、複数のW/B計測値がある複数回ある範囲に入ったときの、その範囲を代表する値である。また、第2有効W/B値は、複数のW/B計測値がある複数回ある範囲に入ったときの、それらのW/B計測値を代表する値である。この第2有効W/B値は、フラッシュメモリ64に記録される。
また、B1範囲とB2範囲との間の範囲の広さは、W/B計測処理20による計測精度に応じて、精度が高いほど大きくなるように、あらかじめ決定されている。
なお第1有効判定処理22および第2有効判定処理23について、ある観点から見れば、基準回数Aが第1の基準回数の一例に相当し、基準回数Bが第2の基準回数の一例に相当し、範囲グループAが第1種の複数の範囲の一例に相当し、範囲グループBが第2種の複数の範囲の一例に相当する。また、別の観点から見れば、基準回数Bが第1の基準回数の一例に相当し、基準回数Aが第2の基準回数の一例に相当し、範囲グループBが第1種の複数の範囲の一例に相当し、範囲グループAが第2種の複数の範囲の一例に相当する。また、本実施形態においては、基準回数A、Bは、いずれも3回である。
次に、第1異常判定処理24について説明する。以下、大括弧[]内の値は数値の例を示す。第1異常判定処理24は、第1有効判定処理22において有効であると決定された有効W/B値[3メートル]が、W/B記録値63aを含む所定の範囲P[2.9〜3.1メートル]に含まれる否かを判定し、含まれれば、正常処理を行い、含まれなければ異常対策処理を行う処理である。
ここで、所定の範囲Pは、具体的には、上述の範囲グループAのうち、W/B記録値63aの値が含まれる範囲である。第1異常判定処理24を実行することで、CPU61は、当該所定の範囲P[2.9〜3.1メートル]と、第1有効判定処理22においてW/B計測値が属すると判定された範囲[2.9〜3.1メートル]とが同じであるか否かを判定し、同じであれば、正常処理を行い、同じでなければ異常対策処理を行う。例えば有効W/B値が3メートルであるのに対し、W/B記録値63aを含む所定の範囲Pが3.9〜4.1メートルであれば異常対策処理を行う。
図13に、第1異常判定処理24のフローチャートを示す。CPU61は、このフローチャートの処理を、第1有効判定処理22においてW/B計測値の有効が決定されたことに基づいて、開始する。そして、このフローチャートの実行において、まずステップS410で、W/B記録値63aと第1有効W/B値とが同じであるか否かを判定し、同じであれば続いてステップ420で正常処理を実行した後第1異常判定処理24を終了し、同じでなければ続いてステップS430で異常対策処理を実行した後第1異常判定処理24を終了する。
ここで、正常処理と異常対策処理について説明する。正常処理においては、W/B記録値63aを、ホイールベース値sとして使用するよう指令するデータを、鈍化制御処理261に渡す。これによって、鈍化制御処理261は、引き続きW/B記録値63aをホイールベース値sとして使用した制御を続行する。
異常対策処理においては、CPU61は、警報装置15を用いて、W/B記録値が適切でない旨の異常通知すなわちドライバへの警告をワーニングランプを点灯する、光を使った方法または、映像、音等によって行う。このようにすることで、当該乗員に対して何らかの対策を促すことができる。
さらにCPU61は、異常対策処理において、鈍化制御処理261の実行の禁止を指令するデータを、鈍化制御処理261に渡す。このようにすることで、CPU61が鈍化制御処理261を実行しなくなる。その結果、現実の自車両のホイールベースから大きく乖離したW/B記録値63aに基づいた不適切な車両の鈍化制御処理261を行うことがなくなる。
次に、第2異常判定処理25について説明する。第2異常判定処理25は、第2有効判定処理23において有効であると決定されたW/B計測値が、W/B記録値63aを含む所定の範囲Qに含まれる否かを判定し、含まれれば、正常処理を行い、含まれなければ異常対策処理を行う処理である。
ここで、所定の範囲Qは、具体的には、上述の範囲グループBのうち、W/B記録値63aの値が含まれる範囲である。第2異常判定処理25を実行することで、CPU61は、当該所定の範囲Qと、第2有効判定処理23においてW/B計測値が属すると判定された範囲とが同じであるか否かを判定し、同じであれば、正常処理を行い、同じでなければ異常対策処理を行う。
図14に、第2異常判定処理25のフローチャートを示す。CPU61は、このフローチャートの処理を、第2有効判定処理23においてW/B計測値の有効が決定されたことに基づいて、開始する。そして、このフローチャートの実行において、まずステップS510で、W/B記録値63aが3.0メートルおよび4.0メートルのうちいずれかであるか否かを判定し、判定結果が肯定的であれば続いてステップS520を実行し、否定的であれば続いてステップS535を実行する。この判定は、W/B記録値63aを含む範囲Qが、ショートを示すB1範囲であるか、あるいは、ロングを示すB2範囲であるかの判定である。
ステップS520では、第2有効W/B値がショート値であるか否かを判定し、ショート値であれば続いてステップS525で正常処理を実行し、ロング値であれば続いてステップS530で異常対策処理を実行する。
また、ステップS535では、第2有効W/B値がロング値であるか否かを判定し、ロング値であれば続いてステップS540で正常処理を実行し、ショート値であれば続いてステップS545で異常対策処理を実行する。
ここで、正常処理の内容は、第1異常判定処理24における正常処理と同じである。また、異常対策処理においては、CPU61は、警報装置15を用いて、W/B記録値が適切でない旨の異常通知すなわちドライバへの警告を、ワーニングランプを点灯する、光を使った方法または、映像、音等によって行う。さらにCPU61は、異常対策処理において、μスプリット対応制御処理262の実行の禁止を指令するデータを、μスプリット対応制御処理262に渡す。このようにすることで、CPU61がμスプリット対応制御処理262を実行しなくなる。その結果、現実の自車両のホイールベースから大きく乖離したW/B記録値63aに基づいた不適切な車両のμスプリット対応制御処理262を行うことがなくなる。ステップS525、S530、S540、S545の後、第2異常判定処理25の実行が終了する。
なお、ある観点から見れば、所定の範囲Pが第1の範囲の一例に相当し、所定の範囲Qが第2の範囲の一例に相当する。また、別の観点から見れば、所定の範囲Qが第1の範囲の一例に相当し、所定の範囲Pが第2の範囲の一例に相当する。
また、ある観点から見れば、所定の範囲Pが第1ホイールベース範囲の一例に相当し、上述の範囲グループAのうち、所定の範囲Pと範囲が重ならない範囲群のそれぞれが離散ホイールベース範囲の一例に相当し、また、所定の範囲Qが第2ホイールベース範囲の一例に相当する。
また、別の観点から見れば、所定の範囲Qが第1ホイールベース範囲の一例に相当し、上述の範囲グループBのうち、所定の範囲Qと範囲が重ならない範囲群のそれぞれが離散ホイールベース範囲の一例に相当し、また、所定の範囲Pが第2ホイールベース範囲の一例に相当する。
以上説明したとおり、W/B記録値63aに基づいた車両の鈍化制御処理261を行う制御装置16が、自車両のW/B計測値を取得し、取得した計測値が、当該W/B記録値63aを含む範囲Pに含まれないことに基づいて(図13のステップS410参照)、鈍化制御処理261についての異常対策処理を行う(ステップS430参照)。
また、W/B記録値63aに基づいた車両のμスプリット対応制御処理262を行う制御装置16が、自車両のW/B計測値を取得し、取得した計測値が、当該W/B記録値63aを含む範囲Qに含まれないことに基づいて(図14のステップS520、S535参照)、鈍化制御処理261についての異常対策処理を行う(ステップS530、S545参照)。
このように、W/B計測値とW/B記録値63aとの比較を行うことで、W/B記録値63aが自車両の現実のホイールベースと大きく異なっていること、すなわち、W/B記録値63aが現実の車両のホイールベースを適切に表していないことを、検出することができる。
そして、鈍化制御処理261における範囲P[2.9〜3.1メートル]とμスプリット対応制御処理262における範囲Q[2.7〜4.3メートル]とが異なっている。このように、W/B記録値63aを異なる2つの制御に用いる場合、W/B記録値63aとW/B計測値との比較および比較に基づく異常対策処理を、それぞれの制御毎に行い、また、制御毎に比較の方法を変える(今回の実施例では範囲P、θの違い)ことで、車両に搭載されている各制御の性質に応じて異常対策処理の実行、非実行を切り替えることができるようになる。
また、制御装置16は、W/B計測値を繰り返し取得し、繰り返し取得されるW/B計測値が、基準回数連続して複数の範囲のうち1つの範囲に属することに基づいて(図11のステップS140、S160、S180、S190、図12のステップS330、S345参照)、当該1つの範囲が、W/B記録値63aが属する範囲と同じであるか否かを判定し(図13のステップS410、図14のステップS520、S535参照)、同じでないことに基づいて、それぞれの制御についての異常対策処理を行う。
このように、あらかじめ範囲グループA、Bを設けておき、それらのうちの特定の1つの範囲内にW/B計測値が連続して入ることに基づいて、W/B記録値63aとW/B計測値の比較を行うようになっていることで、W/B記録値63aの比較対象として用いるW/B計測値の信頼性を高めることができる。
また鈍化制御処理261用の範囲グループAと、μスプリット対応制御処理262の範囲グループBとは、その内容が異なっている。このようになっていることで、異なる制御のそれぞれに適した、第1種の複数の範囲、および第2種の複数の範囲を設定することができる。
なお、上記の実施形態において、制御装置16が車載制御装置の一例に相当し、また、RAM62、ROM63のそれぞれが記録媒体の一例に相当する。また、CPU61が、W/B計測処理20を実行することでホイールベース取得手段の一例として機能する。
また、ある観点から見れば、CPU61が、鈍化制御処理261を実行することで第1制御手段の一例として機能し、μスプリット対応制御処理262を実行することで第2制御手段の一例として機能し、第1有効判定処理22および第1異常判定処理24を実行することで第1判定手段の一例として機能し、第2有効判定処理23および第2異常判定処理25を実行することで第2判定手段の一例として機能する。
また、別の観点から見れば、CPU61が、μスプリット対応制御処理262を実行することで第1制御手段の一例として機能し、鈍化制御処理261を実行することで第2制御手段の一例として機能し、第2有効判定処理23および第2異常判定処理25を実行することで第1判定手段の一例として機能し、第1有効判定処理22および第1異常判定処理24を実行することで第2判定手段の一例として機能する。
(他の実施形態)
以上、本発明の実施形態について説明したが、本発明の範囲は、上記実施形態のみに限定されるものではなく、本発明の各発明特定事項の機能を実現し得る種々の形態を包含するものである。
例えば、上記実施形態においては、CPU61は、正常処理において、W/B記録値63aの値を用いる指令のデータを、鈍化制御処理261またはμスプリット対応制御処理262に渡すようになっている。しかし、CPU61は、正常処理において、有効W/B値の値を用いる指令のデータを、鈍化制御処理261またはμスプリット対応制御処理262に渡すようになっていてもよい。
また、判定カウンタの値が基準回数A以上であるか否かによって、W/B計測値が有効であるか否かを決定したが、W/B計測値を基準回数分記憶しておいて、一度に範囲A1、〜A4のそれぞれについて属するか否かを判定してもよい。
また、CPU61は、異常対策処理において、異常の報知を行わないようになっていてもよい。その場合は、対象となる制御処理へW/B記録値63aの使用を禁止するようになっていることが必須である。
対象となる制御処理へW/B記録値63aの使用を禁止する方法としては、例えば、上記実施形態のように、対象となる制御の実行事態を禁止する方法がある。また、W/B記録値63aの代わりに有効W/B値を対象となる制御に使用する指令のデータを、当該制御に渡す方法がある。また、フラッシュメモリ64にW/B記録値63aを記録している場合には、W/B記録値63aの値を有効W/B値で書き換える方法がある。
また、CPU61は、異常対策処理において、そのままW/B記録値63aを対象となる制御に用いさせるようになっていてもよい。その場合は、異常の報知を行うことが必須である。
また、上記の実施形態においては、制御対象はABS制御になっているが、W/B記録値63aを使用する制御としては、ABS制御に限らず、どのような制御であってもよい。
また、上記の実施形態においては、制御装置16は、異なる2つの制御においてW/B記録値63aを使用し、それぞれの制御毎に、W/B記録値63aの適切性を判定している。しかし、制御装置16は、唯一の制御においてW/B記録値63aを使用し、当該制御のみ、W/B記録値63aの適切性を判定するようになっていてもよい。
また、制御装置16はW/B計測処理20において、車両の使用時(例えば走行時)に他の方法でホイールベースの計測値を取得してもよい。また制御装置16は、計測値を自ら計測するようになっているが、計測値を自ら計測するのではなく、他の計測装置(例えば車両外部の計測装置)によって車両の使用時(例えば走行時)計測値を通信によって取得するようになっていてもよい。
また、上記の実施形態において、制御回路16のCPU61がプログラムを実行することで実現している各機能は、それらの機能を有するハードウェア(例えば回路構成をプログラムすることが可能なFPGA)を用いて実現するようになっていてもよい。