(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、本発明の一実施形態を、図面を参照しつつ説明する。
図1は本実施形態に係る車両90に搭載された車両制御システム10のブロック図である。この車両制御システム10は、アクセルペダルの誤操作に起因する事故の発生を抑制するためのシステムである。
図1に示されるように、車両制御システム10は、主制御装置20、エンジン制御装置31、ブレーキ制御装置41、速度センサ50、フロントカメラ61、バックカメラ62、警報装置71、及び解除スイッチ72を有している。
【0019】
図2は、主制御装置20のブロック図である。
図2に示されるように、主制御装置20は、CPU(Central Processing Unit)21、主記憶部22、補助記憶部23、インタフェース部24、及び上記各部を接続するバス25を有するコンピュータである。
【0020】
CPU21は、補助記憶部23に記憶されているプログラムを読み出して実行する。CPU21が実行する各処理については後述する。
【0021】
主記憶部22は、RAM(Random Access Memory)等を有している。主記憶部22は、CPU21の作業領域として用いられる。
【0022】
補助記憶部23は、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを有している。補助記憶部23は、CPU21が実行するプログラム、及び各種パラメータなどを記憶している。また、CPU21による処理結果を含む情報を順次記憶する。具体的には、駐車時の車両90の進行方向、進行方向に位置する障害物の検出結果、トランスミッションのシフト位置等を記憶する。
【0023】
インタフェース部24は、シリアルインターフェイスまたはLAN(Local Area Network)インタフェース等を有している。上述したエンジン制御装置31、ブレーキ制御装置41、速度センサ50、フロントカメラ61、バックカメラ62、警報装置71、及び解除スイッチ72は、インタフェース部24を介して、バス25に接続されている。
【0024】
エンジン制御装置31は、車両90のエンジン30を制御する装置である。このエンジン制御装置31は、主制御装置20からの指示の下、アクセルペダルセンサ32によって検出されたアクセルペダルの踏み込み量と、シフト位置センサ33によって検出された変速機のシフト位置とに基づいて、エンジン30の出力を制御する。また、エンジン制御装置31は、主制御装置20と通信を行う。そして、主制御装置20からの要求に応じて、変速機のシフト位置、アクセルペダルの踏み込み量を通知する。
【0025】
ブレーキ制御装置41は、車両90のブレーキユニット40を制御する装置である。このブレーキ制御装置41は、主制御装置20の指示の下、ブレーキペダルセンサ42によって検出されたブレーキペダルの踏み込み量に基づいて、ブレーキユニット40を駆動する。これにより、車両90の車輪に制動力が作用し、車両90が減速或いは停止する。
【0026】
速度センサ50は、車両90の速度を計測する装置である。この速度センサ50は、例えばエンジンのアウトプットシャフトの回転数を計測する。そして、計測した回転数に応じた速度信号を、主制御装置20へ出力する。この速度信号の値は、車両90が前進しているときは+となり、後進しているときは−となる。CPU21は、速度センサ50から出力される検出信号の極性から、車両90の進行方向を識別することができる。
【0027】
フロントカメラ61は、車両90のフロントバンパやフロントグリルに取り付けられている。このフロントカメラ61は、車両90の前方を撮影することより生成した画像情報を、主制御装置20へ出力するCCD(Charge Coupled Device)カメラである。
【0028】
バックカメラ62は、車両90のリヤバンパや、その近傍に取り付けられている。このバックカメラ62は、車両90の後方を撮影することにより生成した画像情報を、主制御装置20へ出力するCCDカメラである。
【0029】
警報装置71は、主制御装置20からの指示に基づいて、車両90のドライバに警報音或いは音声を出力する装置である。車両制御システム10では、アクセルペダルの誤操作が発生することにより、主制御装置20から警報発令指令が出力されると、警報装置71から車両90のドライバへ警報が発令される。
【0030】
解除スイッチ72は、例えばノーマルオープンの接点を有するスイッチである。車両90のドライバは、当該解除スイッチをオンにすることで、誤動作が発生したときに実行されるエンジンの出力制御を無効化することができる。
【0031】
次に、上述のように構成された車両制御システム10の動作について説明する。
図3に示されるフローチャートは、主制御装置20のCPUによって実行される一連の処理を示している。以下、
図3を参照しつつ、車両制御システム10の動作について説明する。
【0032】
車両制御システム10では、ドライバによって、車両90のイグニッションスイッチがオンにされると、CPU21が
図3に示される一連の処理を開始する。
【0033】
まず、ステップS101では、CPU21は、車両制御システム10の初期化を行う。この処理は、CPU21が
図4に示されるサブルーチン200を実行することによって実現する。サブルーチン200のステップS201で、CPU21は、まず車両制御システム10の状態を通常制御状態へ遷移する。
【0034】
車両制御システム10は、車両90に対して、通常制御と誤動作制御のうちのいずれか一方の制御を行う。通常制御は、ドライバによって、アクセルペダルやブレーキペダルが操作された場合に、アクセルペダルの踏み込み量に応じてエンジンの出力を制御し、ブレーキペダルの踏み込み量に応じて制動力を制御するものである。また、誤動作制御は、ドライバによるアクセルペダルとブレーキペダルの踏み間違いが発生したときに、アクセルペダルやブレーキペダルの踏み込み量にかかわらず、エンジンの出力や制動力を制御するものである。本実施形態では、通常制御が行われるときの車両制御システム10の状態を通常制御状態とし、誤動作制御が行われるときの車両制御システム10の状態を誤動作制御状態とする。
【0035】
ステップS201の処理によって、車両制御システム10の状態が通常制御に遷移すると、車両90に対しては、以降通常制御が行われる。
【0036】
次のステップS202では、CPU21は、車両90の状態を駐車状態へ遷移する。車両90の状態は、駐車状態と走行状態に2分される。駐車状態とは、車両90の速度が閾値Th1未満である状態であり、走行状態とは、車両90の速度が閾値Th1以上である状態である。
【0037】
ステップS202の処理によって、車両90の状態が通常制御に遷移すると、車両制御システム10は、以降車両90の状態が駐車状態であることを前提に、各処理を実行する。
【0038】
次のステップS203では、CPU21は、イグニッションキーがオンにされる前に記憶された、駐車種別、障害物の検出結果を示す情報を読み出す。
【0039】
駐車種別は、車両90の駐車が前進によって行われたか、或いは後進によって行われたかを示す情報である。この駐車種別は、駐車時に速度センサ50から出力される検出信号の値や極性、シフト位置が前進側か後進側かを識別するための情報から識別される。例えば、駐車時に補助記憶部23に記憶された情報が、速度センサ50の出力が+であること、或いはシフト位置が前進側であることを示す場合には、駐車種別が前進駐車であると識別できる。また、駐車時に補助記憶部23に記憶された情報が、速度センサ50の出力が−であること、或いはシフト位置が後進側であることを示す場合には、駐車種別が後進駐車であると識別できる。
【0040】
また、障害物の検出結果は、駐車が前進によって行われたときには、フロントカメラ61からの画像に基づいて障害物が検出されたか否かを示す情報である。そして、駐車が後進によって行われたときには、バックカメラ62からの画像に基づいて障害物が検出されたか否かを示す情報である。
【0041】
CPU21は、ステップS203の処理が終了すると、サブルーチン200を終了し、ステップS102へ移行する。
【0042】
ステップS102では、CPU21は、車両90の状態が駐車状態か否かを判定する。車両90の状態が駐車状態である場合には(ステップS102:Yes)、CPU21は、ステップS103へ移行する。一方、車両90の状態が、駐車状態ではなく、走行状態である場合には(ステップS102:No)、CPU21は、ステップS118へ移行する。
【0043】
ここでは、車両90の状態が駐車状態であり、CPU21は、ステップS103へ移行するものとする。
【0044】
ステップS103では、CPU21は、車両制御システム10の状態が通常制御状態であるか否かを判定する。車両制御システム10の状態が通常制御状態である場合には(ステップS103:Yes)、CPU21は、ステップS104へ移行する。一方、車両制御システム10の状態が、通常制御状態ではなく、誤動作制御状態である場合には(ステップS103:No)、CPU21は、ステップS111へ移行する。
【0045】
ここでは、車両制御システム10の状態が通常制御状態で
あり、CPU21は、ステップS104へ移行するものとする。
【0046】
ステップS104では、CPU21は、誤操作可能性判定処理を実行する。この処理は、CPU21が
図5に示されるサブルーチン300を実行することにより実現する。サブルーチン300のステップS301では、CPU21は、まず一定時間アクセルペダル及びブレーキペダルの操作がなかったか否かを判定する。
【0047】
アクセルペダル又はブレーキペダルの操作が行われてから一定時間が経過していない場合には(ステップS301:No)、CPU21は、サブルーチン300の処理を終了し、ステップS105へ移行する。一方、アクセルペダル又はブレーキペダルの操作が行われてから一定時間が経過している場合には(ステップS301:Yes)、CPU21は、ステップS302へ移行する。
【0048】
ステップS302では、CPU21は、エンジン制御装置31からアクセルペダルの操作量を示す情報を取得する。そして、アクセルペダルの速度、すなわちアクセルペダルの
踏み込み量の変化割合が閾値Th2より大きいか否かを判定する。アクセルペダルからドライバの足がはなれた場合や、アクセルペダルがゆっくりと踏み込まれた場合には、
踏み込み量の変化割合が閾値Th2以下になる。この場合には、ステップS302での判定が否定され(ステップS302:No)、CPU21は、サブルーチン300を終了し、ステップS105へ移行する。
【0049】
一方、アクセルペダルが強く踏み込まれた場合には、
踏み込み量の変化割合が閾値Th2より大きくなる。この場合には、ステップS302での判定が肯定され(ステップS302:No)、CPU21は、ステップS303へ移行する。
【0050】
ステップS303では、CPU21は、ドライバによるアクセルペダルとブレーキペダルの踏み間違い、或いはシフトレバーの誤操作が発生したと判定し、この判定結果を補助記憶部23に記憶する。なお、シフトレバーの誤操作とは、ドライバの意思とは異なる位置にシフトレバーを動かす操作をいう。具体的には、ドライバが前進側にシフトレバーを動かそうとしたときに、誤ってシフトレバーを後進側に動かしてしまう操作や、ドライバが後進側にシフトレバーを動かそうとしたときに、誤ってシフトレバーを前進側に動かしてしまう操作をいう。
【0051】
CPU21は、ステップS303の処理が終了すると、サブルーチン300を終了し、ステップS105へ移行する。
【0052】
ステップS105では、CPU21は、車両90の進行方向に位置する障害物の検出を試みる。この処理は、CPU21が
図6に示されるサブルーチン400を実行することによって実現する。サブルーチン400のステップS401では、CPU21は、車両90の進行方向を撮影するカメラからの出力された第1画像と、当該第1画像の次に撮影された第2画像について、障害物検出領域を設定する。
【0053】
図7は、バックカメラ62によって撮影された画像PH1を示す図である。また、
図8は、画像PH1の次に、バックカメラ62によって撮影された画像PH2を示す図である。画像PH1,PH2それぞれには、車両90の後方に駐車された車両91が写っている。
【0054】
CPU21は、車両90が後進する際には、バックカメラ62によって撮影される画像PH1と画像PH2の画像情報を取得し、画像PH1と画像PH2に、障害物検出領域DAを設定する。この障害物検出領域DAの高さ及び幅は、車両90の高さと幅に概ね対応する大きさである。このため、この障害物検出領域DA内に写る障害物は、車両90がそのまま走行を継続すると当該車両90と衝突するおそれがあると考えることができる。
【0055】
次のステップS402では、CPU21は、画像PH1,画像PH2それぞれから特徴点を抽出する。そして、画像PH1から抽出した特徴点を始点とし、画像PH2から抽出した特徴点を終点とするオプティカルフローを算出する。オプティカルフローの算出は、例えば特開2011−043922号公報等に開示された技術を用いて算出することができる。
【0056】
一例として
図7に示されるように、画像PH1から特徴点P1〜P4が抽出され、
図8に示されるように、画像PH2から特徴点Q1〜Q4が抽出されたとすると、
図9に示されるように、画像PH1の特徴点P1〜P4を始点とし、画像PH2の特徴点Q1〜Q4を終点とするオプティカルフローOP1〜OP4が算出される。
【0057】
次のステップS403では、CPU21は、算出したオプティカルフローを用いて、車両進行方向に位置する障害物を検出する。
図9に示されるように、本実施形態では説明の便宜上、車両91に関するオプティカルフローが4本である場合について説明している。しかしながら、実際は、車両91を撮影した画像からは、数十或いは数百の特徴点を抽出することができる。そして、数十或いは数百本のオプティカルフローを規定することができる。
【0058】
CPU21は、数十或いは数百本のオプティカルフローのうちから、ノイズ成分を多く含むオプティカルフローを除外し、残りのオプティカルフローをグルーピングする。例えば、車両90が直線運動をしている場合には、各オプティカルフローと一致する直線は消失点VPで交わるはずである。そこで、CPU21は、オプティカルフローと一致する直線が、消失点VPから著しく離れている場合には、このオプティカルフローを除外し、残りのオプティカルフローを同一の障害物に関連するオプティカルフローとみなしてグルーピングする。ここでは車両91に関するオプティカルフローOP1〜OP4が、車両91のオプティカルフローとしてグルーピングされる。
【0059】
1つのグループを構成する1群のオプティカルフローは、車両90の進行方向に位置する物体を示す。したがって、グルーピングの結果、3つのグループが規定された場合は、車両90の進行方向に3つの物体が位置することを意味する。
【0060】
次のステップS403では、CPU21は、1群のオプティカルによって示される物体から、車両90から近い位置にある物体を障害物として検出する。オプティカルフローの大きさは、車両90と障害物の距離が近い程大きくなる。そこで、CPU21は、一定の大きさ以上のオプティカルフローを含むグループに対応する物体を、車両90の進行方向に位置する障害物として検出する。
【0061】
次のステップS404では、CPU21は、車両90の進行方向に障害物があるか否かを判定する。ステップS403で、車両90の進行方向に障害物が検出されていない場合には(ステップS404:No)、CPU21は、サブルーチン400を終了し、ステップS106へ移行する。一方、車両90の進行方向に障害物が検出されている場合には(ステップS404:Yes)、CPU21は、ステップS405へ移行する。
【0062】
次のステップS405では、CPU21は、検出した障害物と車両90との距離を推定する。障害物との距離は、例えば特開2012−018637号公報に開示された技術を用いて算出することができる。
【0063】
次のステップS406では、CPU21は、障害物の検出結果を記憶する。これにより、補助記憶部23に、障害物の有無、障害物と車両90との距離を示す情報が記憶される。CPU21は、ステップS406の処理が終了すると、サブルーチン400を終了し、ステップS106へ移行する。
【0064】
ステップS106では、CPU21は、車両90が障害物に衝突する危険性の有無を判定する。この処理は、CPU21が
図10に示されるサブルーチン500を実行することによって実現する。サブルーチン500のステップS501では、CPU21は、誤操作の可能性があるか否かを判定する。サブルーチン300のステップS301,S302の判定のうち、いずれか一方で判定が否定的である場合には、ステップS501での判定が否定される(ステップS501:No)。この場合、CPU21は、サブルーチン500を終了し、ステップS107へ移行する。一方、サブルーチン300のステップS301,S302での判定がともに肯定的である場合には、ステップS501での判定が肯定される(ステップS501:Yes)。この場合、CPU21は、ステップS502へ移行する。
【0065】
ステップS502では、車両90のトランスミッションのシフトが前進側の位置にあるか否かを判断する。ステップS502での判定が肯定された場合には(ステップS502:Yes)、CPU21は、ステップS503へ移行する。
【0066】
ステップS503では、駐車種別を示す情報を読み出し、車両90の駐車が前進によって行われた前進駐車であるか否かを判定する。車両90の駐車が後進によって行われていた場合には、ステップS503での判断が否定される(ステップS503:No)。この場合には、CPU21は、サブルーチン500を終了し、ステップS107へ移行する。一方、車両90の駐車が前進によって行われていた場合には、ステップS503での判断が肯定される(ステップS503:Yes)。この場合には、CPU21は、ステップS505へ移行する。
【0067】
一方、ステップS502での判定が否定された場合には(ステップS502:No)、CPU21は、ステップS504へ移行する。
【0068】
ステップS504では、駐車種別を示す情報を読み出し、車両90の駐車が後進によって行われた後進駐車であるか否かを判定する。車両90の駐車が前進によって行われていた場合には、ステップS504での判断が否定される(ステップS504:No)。この場合には、CPU21は、サブルーチン500を終了し、ステップS107へ移行する。一方、車両90の駐車が後進によって行われていた場合には、ステップS504での判断が肯定される(ステップS504:Yes)。この場合には、CPU21は、ステップS505へ移行する。
【0069】
ステップS505では、CPU21は、エンジン制御装置31へ、出力抑制指令を出力する。これにより、アクセルペダルの操作の有無にかかわらずエンジンの出力が抑制され、車両90の速度の上昇が抑制される。
【0070】
次のステップS506では、CPU21は、車両制御システム10の状態を衝突危険状態へ遷移する。この衝突危険状態とは、車両90に対して通常制御を行うと、車両90が障害物に衝突する危険がある状態をいう。
【0071】
次のステップS507では、CPU21は、車両90の進行方向に障害物があるか否かを判定する。具体的には、CPU21は、まず、サブルーチン400と同様の処理を実行する。その結果、車両90の進行方向に障害物が検出されない場合には、ステップS507での判定が否定される(ステップS507:No)。この場合には、CPU21は、サブルーチン500を終了し、ステップS107へ移行する。一方、車両90の進行方向に障害物が検出された場合には、ステップS507での判定が肯定される(ステップS507:Yes)。この場合には、CPU21は、ステップS508へ移行する。
【0072】
ステップS508では、CPU21は、衝突危険性Rcを推定する。衝突危険性Rcは、係数a,bと、車両90と障害物の距離xと、車両90が障害物に衝突するまでの衝突時間TTC(距離x/車速v)を用いて次式(1)で示される。CPU21は、次式(1)を用いて、衝突危険性Rcを推定する。
【0074】
次のステップS509では、CPU21は、ブレーキ制御装置41へ、制動指令を出力する。これにより、ブレーキペダルの操作の有無にかかわらずブレーキユニット40が駆動され、車両90が減速する。CPU21は、ステップS509の処理が終了すると、サブルーチン500を終了し、ステップS107へ移行する。
【0075】
次のステップS107では、CPU21は、車両90が危険であるか否かを判定する。この判定には、サブルーチン500のステップS508の処理で求められた衝突危険性Rcが用いられる。衝突危険性Rcが所定の値未満である場合には、CPU21は、車両90が危険ではないと判定する(ステップS107:No)。そして、CPU21は、ステップS108へ移行する。
【0076】
ステップS108では、CPU21は、速度センサ50を用いて計測した車両90の速度が閾値Th4以上であるか否かを判定する。車両90の速度が閾値Th4以上である場合には、CPU21は、ステップS109へ移行して、車両90の状態を走行状態へ遷移した後、ステップS102へ戻る。そして、ステップS102以降の処理を繰り返し実行する。一方、車両90の速度が閾値Th4未満である場合には、CPU21は、ステップS102へ戻り、ステップS102以降の処理を繰り返し実行する。
【0077】
また、ステップS107において、衝突危険性Rcが所定の値以上である場合には、CPU21は、車両90が危険であると判定する(ステップS107:Yes)。そして、CPU21は、ステップS110へ移行する。
【0078】
ステップS110では、CPU21は、車両制御システム10の状態を、誤動作制御状態に遷移する。
【0079】
次のステップS111では、CPU21は、エンジン制御装置31へ、出力抑制指令を出力する。これにより、アクセルペダルの操作の有無にかかわらずエンジンの出力が抑制され、車両90の速度の上昇が抑制される。
【0080】
次のステップS112では、CPU21は、ブレーキ制御装置41へ、制動指令を出力する。これにより、ブレーキペダルの操作の有無にかかわらずブレーキユニット40が動作し、車両90が減速する。
【0081】
次のステップS113では、CPU21は、警報装置71へ警報指令を出力する。これにより、警報装置71から車両90のドライバに対して警報が発令される。
【0082】
次のステップS114では、CPU21は、誤動作制御解除処理を実行する。この処理は、CPU21が
図11に示されるサブルーチン600を実行することにより実現する。サブルーチン600のステップS601では、CPU21は、解除スイッチ72がオンであるか否かを判定する。解除スイッチ72がオンである場合には(ステップS601:Yes)、CPU21は、ステップS604に移行し、誤動作制御を解除する。これにより、誤動作制御が解除され、車両制御システム10の状態が、通常制御状態へ遷移する。
【0083】
一方、解除スイッチ72が、オフである場合には(ステップS601:No)、CPU21は、ステップS602へ移行する。
【0084】
ステップS602では、CPU21は、アクセルペダルがオンであるか否かを判定する。アクセルペダルがドライバによって踏み込まれている場合には(ステップS602:Yes)、CPU21は、サブルーチン600を終了し、次のステップS115へ移行する。一方、アクセルペダルがドライバによって踏み込まれていない場合には(ステップS602:No)、CPU21は、ステップS603へ移行する。
【0085】
ステップS603では、CPU21は、ブレーキペダルがオンであるか否かを判定する。ブレーキペダルがドライバによって踏み込まれていない場合には(ステップS603:No)、CPU21は、サブルーチン600を終了し、次のステップS115へ移行する。一方、アクセルペダルがドライバによって踏み込まれている場合には(ステップS603:Yes)、CPU21は、ステップS604に移行し、誤動作制御を解除する。これにより、車両制御システム10による誤動作制御が解除される。
【0086】
ステップS604の処理が終了すると、CPU21は、サブルーチン600を終了し、次のステップS115へ移行する。
【0087】
ステップS115では、CPU21は、ステップS114での処理で、誤動作制御が解除されたか否かを判定する。誤動作制御が解除されていない場合には(ステップS115:No)、CPU21は、ステップS102に戻る。そして、ステップS102以降の処理を繰り返し実行する。一方、誤動作制御が解除されている場合には(ステップS115:Yes)、CPU21は、ステップS116へ移行する。
【0088】
ステップS116では、CPU21は、車両制御システム10の制御状態を通常制御状態へ遷移する。
【0089】
次のステップS117では、CPU21は、制御解除指令を発令する。この処理は、CPU21が
図12に示されるサブルーチン700を実行することにより実現する。サブルーチン700のステップS701では、CPU21は、エンジン制御装置31へ、出力抑制解除指令を出力する。エンジン制御装置31は、出力抑制解除指令を受信すると、以降アクセルペダルの踏み込み量に応じてエンジンの出力を制御する。
【0090】
次のステップS702では、CPU21は、ブレーキ制御装置41へ、制動解除指令を出力する。ブレーキ制御装置41は、制動解除指令を受信すると、以降ブレーキペダルの踏み込み量に応じてブレーキユニット40を駆動する。
【0091】
ステップS701,S702の処理が終了すると、車両制御システム10の状態が通常制御状態となり、以降通常制御が実行される。
【0092】
次のステップS703では、CPU21は、誤動作制御が解除されたことを意味する誤動作制御解除通知を出直する。この誤動作制御解除通知は、警報装置71を介して、例えば音声やビープ音を出力することにより行われる。ステップS703が終了すると、CPU21は、サブルーチン700を終了し、ステップS102に戻る。そして、ステップS102以降の処理を繰り返し実行する。
【0093】
また、ステップS102において、車両90の状態が走行状態であると判定された場合には(ステップS102:No)、CPU21は、ステップS118へ移行する。ステップS118では、CPU21は、車両90の速度が閾値Th3以下であるか否かを判断する。車両90の速度が閾値Th3以下ではない場合には(ステップS118:No)、CPU21は、ステップS102に戻り、ステップS102以降の処理を繰り返し実行する。一方、車両90の速度が閾値Th3以下である場合には(ステップS118:Yes)、CPU21は、ステップS119へ移行する。
【0094】
ステップS119では、CPU21は、車両90の進行方向に位置する障害物の検出を試みる。この処理は、CPU21が
図6に示されるサブルーチン400を実行することによって実現する。
【0095】
次のステップS120では、CPU21は、駐車種別の判定を行う。この処理は、CPU21が
図13に示されるサブルーチン800を実行することによって実現する。サブルーチン800のステップS801では、CPU21は、シフト位置が前進側であるか否かを判定する。シフト位置が前進側である場合には(ステップS801:Yes)、CPU21は、ステップS802において、駐車種別が前進駐車であると認識する。また、シフト位置が後進側である場合には(ステップS801:No)、CPU21は、ステップS803において、駐車種別が後進駐車であると認識する。
【0096】
ステップS801又はステップS802の処理が終了すると、CPU21は、サブルーチン800を終了し、ステップS121へ移行する。
【0097】
ステップS121では、CPU21は、車両90が停車しているか否かを判定する。車両90が停車していない場合には(ステップS121:No)、CPU21は、ステップS102に戻り、ステップS102以降の処理を繰り返し実行する。一方、車両90が停車している場合には(ステップS121:Yes)、CPU21は、ステップS122へ移行する。
【0098】
ステップS122では、CPU21は、車両90の状態を駐車状態へ遷移する。ステップS122の処理が終了すると、CPU21は、ステップS102へ戻り、ステップS102以降の処理を繰り返し実行する。
【0099】
以上説明したように、本実施形態では、駐車している車両90のドライバによるアクセルペダルの操作が検出された場合に(ステップS104)、車両90の進行方向に位置する障害物の検出が行われる(ステップS105)。そして、駐車時の進行方向と、発信時の進行方向とが等しい場合には、エンジンの出力が抑制され、必要に応じてブレーキが動作する(ステップS106)。このため、車両90のドライバがアクセルペダルとブレーキペダルとを踏み間違えたり、シフトレバーの操作を誤ったりしても、進行方向に障害物が位置する場合や、駐車時と発信時とで車両90の進行方向が等しい場合には、ドライバの意思に反して、車両90が急発進することがなくなる。これにより、ドライバの誤操作による事故が回避される。
【0100】
本実施形態では、車両90の進行方向が写る画像から、オプティカルフローを抽出し、このオプティカルフローを用いて、車両90の進行方向に位置する障害物を検出する。このため、フロントカメラ61,バックカメラ62として、単眼カメラを用いることができる。そのため、高価なステレオカメラを用いる必要がなく、システムの製造コストを低減することができる。
【0101】
フロントカメラ61,バックカメラ62として単眼カメラを用い、オプティカルフローを利用して障害物を検出する場合には、検出対象物が車両90に対して相対移動している必要がある。このため、車両90が停止しているときには、車両90に対して相対移動しない固定障害物(塀、停止車両等)を検出することができない。したがって、従来は、車両90が停止して、イグニッションスイッチがオフとなった駐車状態から、イグニッションスイッチがオンとなった発進準備状態になったとしても、車両90が停止したままでは、当該車両90が発進しようとする方向に障害物が位置するか否かを把握することができなかった。
【0102】
しかしながら、本実施形態では、障害物記憶部20dに、停止する直前に検出された障害物についての情報が予め記憶される。このため、車両90が発進する際に、予め記憶された情報を参照することで、車両90の発進前に、進行しようとする方向に障害物が位置するか否かを把握することができ。これにより、誤操作による事故を速やかに回避することが可能となる。
【0103】
本実施形態では、駐車している車両90のドライバによるアクセルペダルの操作が検出された場合に(ステップS104)、まずエンジンの出力が抑制され(ステップS505、次に、ブレーキが動作する(ステップS509)。このため、車両90が不必要に急停車することがない。これにより、誤動作によりドライバが受ける影響が小さくなる。
【0104】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0105】
例えば、上記実施形態では、車両90の進行方向が写る画像から、オプティカルフローを抽出し、このオプティカルフローを用いて、車両90の進行方向に位置する障害物を検出した。これに限らず、例えば、ステレオカメラを用いて進行方向の画像を撮影し、当該撮影によって得られた画像に対してステレオマッチングを行うことによって、進行方向に位置する障害物を検出することとしてもよい。また、車両90の進行方向に位置する障害物を、ミリ波レーダ等を用いて検出してもよく、その他のセンサを用いて検出してもよい。
【0106】
主制御装置20の補助記憶部23に記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0107】
上記実施形態では、CPU21が補助記憶部に記憶されたプログラムを実行することにより、
図3に示される一連の処理が実行される。これに限らず、主制御装置20を、ハードウェアによって構成してもよい。
【0108】
図14は、変形例に係る主制御装置20Aを示す図である、
図14に示されるように、主制御装置20は、進行方向検出部20a、進行方向記憶部20b、障害物検出部20c、障害物記憶部20d、及び判定部20eを有している。
【0109】
進行方向検出部20aは、速度センサ50から出力される検出信号から車両90の進行方向を識別し、識別結果を進行方向記憶部20bに記憶する。
【0110】
障害物検出部20cは、フロントカメラ61及びバックカメラ62から出力される画像情報に基づいて、車両90の進行方向に位置する障害物の検出を行い、検出結果を障害物記憶部20dに記憶する。具体的には、ステップS105,S119の処理を行う。
【0111】
判定部20eは、進行方向記憶部20b及び障害物記憶部20dに記憶された情報を用いて、
図3に示される一連の処理を実行する。
【0112】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。