以下、図面を参照して本発明の形態を説明する。図面は本発明の一実施形態に係り、図1は車両の操舵系を中心とする運転支援装置の構成図、図2は前回の代表位置を今回の代表位置に移動させる際の座標変換の説明図、図3は車両の移動に伴う白線候補点の推定位置を示す説明図、図4は操舵制御ルーチンを示すフローチャート、図5は電動パワーステアリングモータの操舵トルクと電動モータ基本電流値の特性の一例を示す説明図、図6は横位置フィードバック制御の説明図、図7は目標コース設定ルーチンを示すフローチャート、図8は先行車登録サブルーチンを示すフローチャート、図9は左右の白線に基づいて設定される目標コースの一例を示す説明図、図10は先行車として認識される前方車両の一例を示す説明図、図11は先行車として認識される前方車両の他の例を示す説明図、図12,13は先行車登録解除サブルーチンを示すフローチャート、図14は目標コースと左右の白線中心との関係に基づく先行車登録解除条件の一例を示す説明図、図15は併走車との関係に基づく先行車登録解除条件の一例を示す説明図である。
図1において、符号1は、操舵角をドライバ入力と独立して設定可能とすることで運転支援を行う電動パワーステアリング装置を示す。この電動パワーステアリング装置1は、図示しない車体フレームにステアリングコラム3を介して回動自在に支持されたステアリング軸2を有する。この電動パワーステアリング装置1のステアリング軸2は、その一端が運転席側へ延出され、他端がエンジンルーム側へ延出されている。ステアリング軸2の運転席側端部には、ステアリングホイール4が固設され、また、エンジンルーム側へ延出する端部には、ピニオン軸5が連設されている。
エンジンルームには、車幅方向へ延出するステアリングギヤボックス6が配設されており、このステアリングギヤボックス6にラック軸7が往復移動自在に挿通支持されている。このラック軸7に形成されたラック(図示せず)に、ピニオン軸5に形成されたピニオンが噛合されて、ラックアンドピニオン式のステアリングギヤ機構が形成されている。
また、ラック軸7の左右両端はステアリングギヤボックス6の端部から各々突出されており、その端部に、タイロッド8を介してフロントナックル9が連設されている。このフロントナックル9は、操舵輪としての左右輪10L,10Rを回動自在に支持するとともに、車体フレームに転舵自在に支持されている。従って、ステアリングホイール4を操作し、ステアリング軸2、ピニオン軸5を回転させると、このピニオン軸5の回転によりラック軸7が左右方向へ移動し、その移動によりフロントナックル9がキングピン(図示せず)を中心に回動して、左右輪10L、10Rが左右方向へ転舵される。
また、ピニオン軸5にアシスト伝達機構11を介して、電動パワーステアリングモータ(電動モータ)12が連設されており、この電動モータ12にてステアリングホイール4に加える操舵トルクのアシスト、及び、設定された操舵角(目標操舵角)となるような操舵トルクの付加が行われる。電動モータ12は、操舵制御部20から制御出力値として出力される目標電流Icmdに基づき、モータ駆動部21により駆動される。
操舵制御部20には、自車前方の左右白線及び車両等を含む前方環境を認識する前方環境認識手段としての前方認識装置31、車速Vを検出する車速センサ32、操舵角(実舵角)θpを検出する操舵角センサ33、操舵トルクTdを検出する操舵トルクセンサ34、及び、ナビゲーション装置35等が接続されている。
前方認識装置31は、例えば、車室内の天井前方に一定の間隔をもって取り付けられ、車外の対象を左右の異なる視点からステレオ撮像する1組のカメラ31L,31R(ステレオカメラ)と、これらカメラ31L,31Rで撮像した自車両の進行方向の1組の画像(ステレオ画像対)処理するステレオ画像処理装置31aと、を有して構成されている。
カメラ31L,31Rからの画像データの処理は、ステレオ画像処理装置31aにおいて、例えば、以下のように行われる。
すなわち、ステレオ画像処理装置31aは、まず、カメラ31L,31Rで撮像した自車両の進行方向の1組の画像対に対し、対応する位置のズレ量から距離情報を求め、距離画像を生成する。
白線データの認識において、ステレオ画像処理装置31aは、白線が道路面と比較して高輝度であるという知得に基づき、道路の幅方向の画素の輝度変化を評価して、画像平面における左右の白線候補点の位置を画像平面上で特定する。この白線候補点の実空間上の位置(x,y,z,)は、画像平面上の位置(i,j)とこの位置に関して算出された視差(すなわち、距離情報)とに基づいて、周知の座標変換式により算出される。自車両の位置を基準に設定された実空間の座標系は、例えば、右側のカメラ31Rの中央真下の道路面を原点とし、車幅方向をX軸、車高方向をY軸、車長方向をZ軸として定義される。そして、実空間の座標系に変換された各白線候補点は、例えば、互いに近接する点列毎にグループ化され、最小二乗法等を用いて二次曲線(白線近似線)に近似される。
また、側壁や立体物データの認識において、ステレオ画像処理装置31aは、距離画像上のデータと、予め記憶しておいた3次元的な側壁データ、立体物データ等の枠(ウインドウ)とを比較し、道路に沿って延在するガードレール、縁石等の側壁データを抽出するとともに、立体物を、自動車、二輪車、歩行者、電柱等その他の立体物に分類して抽出する。立体物データの抽出において、ステレオ画像処理装置31aはそれぞれの自車両との距離(相対距離)の時間的変化の割合から自車両との相対速度を演算し、この相対速度と自車速Vとを加算することにより各々の立体物の速度を算出する。
また、ステレオ画像処理装置31aは、自車両の前方に認識した各車両(前方車両)に関し、ウインカ操作の有無についても併せて検出する。すなわち、ステレオ画像処理装置31aは、例えば、認識した前方車両の左右の各領域において、輝度の高い領域の面積が所定周期で変化しているか否か(拡大、縮小を繰り返しているか否か)を調べることにより、前方車両においてウインカ操作が行われているか否かを調べる。特に、ステレオカメラを構成する左右のカメラ31L,31Rがカラーカメラである場合、ステレオ画像処理装置31aは、認識した前方車両の左右の各領域において、R,G,B各色の輝度の割合の変化についても考慮してウインカ操作の有無を判断する。
操舵制御部20は、ステレオ画像処理装置31aからの入力情報等に基づき、自車両が走行すべき目標コースを設定する。この目標コースは、基本的には、自車走行レーンを区画する左右の白線に基づいて設定することが可能である。但し、白線が消失しかかっている場合、白線が雪等に覆われている場合、或いは、白線が前方車両等によって遮られている場合等のように、自車走行レーンを区画する左右の白線を十分に認識することができない場合であっても、自車両の前方に先行車(より具体的には、追従走行の対象となり得る前方車両)が存在する場合には、操舵制御部20は、先行車の走行軌跡に基づいて目標コースを設定することが可能となっている。
このため、本実施形態の操舵制御部20は、各前方車両の走行軌跡の推定を行う。この走行軌跡の推定において、操舵制御部20は、例えば、ステレオ画像処理装置31aにおいて前フレーム以前に認識した前方車両の背面の中心点の座標を現フレームの座標系の座標に変換するための処理を行う。
ここで、このような座標変換は、例えば、自車速Vと、ヨー角(すなわち、ヨーレート(dθ/dt)から算出される角度)を用いて行うことが可能である。すなわち、例えば、図2に示すように、フレームレートをΔtとすると、自車両が1フレームでX軸方向及びZ軸方向に移動する移動量Δx,Δzは、以下の(1)式及び(2)式により求められる。
Δx=V・Δt・sinθ …(1)
Δz=V・Δt・cosθ …(2)
従って、例えば、図3に示すように、前フレームで検出された前方車両の中心点の座標を(xold,zold)とし、当該前方車両の中心点が現フレームにおいて移動したと推定される座標(xpre,zpre)は、以下の(3)式及び(4)式により求められる。すなわち、座標(xpre,zpre)は、座標(xold,zold)に対して車両移動量Δx,Δzを減算した後、現在のフレームにおける車両固定座標系(X’,Z’)への座標変換を行うことで求められる。
xpre=(xold・Δx)・cosθ−(zold−Δz)・sinθ …(3)
zpre=(xold・Δx)・sinθ−(zold−Δz)・cosθ …(4)
操舵制御部20は、このような演算を各前方車両の中心点について複数フレーム間で順次累積的に行い、演算後の各前方車両の中心点の点列を、最小二乗法を用いて二次曲線に近似することにより、各前方車両の走行軌跡を推定する。
各前方車両の走行軌跡を推定すると、操舵制御部20は、主として、自車両と走行軌跡との関係に基づき、自車両の前方に先行車となり得る前方車両が存在するか否かを調べ、該当する前方車両が存在する場合には当該前方車両を先行車として登録する。
一方、自車両の前方に先行車が登録されている場合において、操舵制御部20は、主として、先行車の走行軌跡から求まる曲率κvと、自車走行レーンの曲率κlとの偏差Δκが設定偏差Δκth以上であるとき、先行車登録を解除する。
ここで、自車走行レーンの曲率κlは、ステレオ画像処理装置31aで認識された左右白線、或いは、車載のナビゲーション装置35に格納された自車走行レーンの地図情報に基づいて算出することが可能である。この場合において、ステレオ画像処理装置31aにおいて自車前方に十分な距離の白線を認識できない場合であっても、白線に基づいて自車走行レーンの曲率κlを算出可能とするため、操舵制御部20は、上述した前方車両の走行軌跡の推定と同様の演算により、前フレーム以前に検出された白線候補点の座標を現フレームの座標系に座標変換し、自車後方の設定距離までの左右白線を推定(再認識)することが望ましい。
左右の白線或いは先行車の走行軌跡に基づいて目標コースを設定すると、操舵制御部20は、設定した目標コースに沿って自車両を走行させるための操舵制御を行う。すなわち、操舵制御部20は、ドライバの操舵トルクTdに応じてモータ基本電流Ipsbを設定し、フィードフォワード制御により目標コースに沿って走行するために必要な電動モータ12のフィードフォワード制御量Iffを算出する。さらに、操舵制御部20は、自車両の車両軌跡を推定して、予め設定する前方注視点における車両軌跡と目標コースとの位置のずれ量ΔXtvを算出し、このずれ量ΔXtvを無くすように制御するための横位置フィードバック制御量Ifbを算出する。そして、操舵制御部20は、これら各値を加算して電動モータ電流値Icmdを算出し、モータ駆動部21に出力して電動モータ12を駆動制御する。
このように、本実施形態において、操舵制御部20は、走行軌跡推定手段、先行車登録手段、目標コース設定手段、操舵制御手段、レーン曲率推定手段、及び、先行車登録解除手段としての各機能を実現する。
操舵制御部20は、具体的には、例えば、図4に示す操舵制御ルーチンに従って、操舵制御を行う。このルーチンは設定時間毎に繰り返し実行されるものであり、ルーチンがスターとすると、操舵制御部20は、先ず、ステップS101において、モータ基本電流Ipsbを設定する。すなわち、例えば、図5に示すように、本実施形態の操舵制御部20には、操舵トルクTdとモータ基本電流Ipsbとの関係を示す車速毎のマップが予め設定されて格納されており、操舵制御部20は、このマップを参照し、自車速Vと操舵トルクTdとに応じたモータ基本電流Ipsbを設定する。
続くステップS102において、操舵制御部20は、自車両が走行すべき目標コースが設定されているか否かを調べ、目標コースが設定されている場合にはステップS103に進み、目標コースが設定されていない場合にはステップS105に進む。
ステップS102からステップS103に進むと、操舵制御部20は、例えば、以下の(5)式により、自車両が目標コースに沿って走行するのに必要な、電動モータ12に対するフィードフォワード制御量(電流値)Iffを算出する。
Iff=Giff・κ …(5)
ここで、κは、目標コースの曲率を示し、例えば、目標コースがx=A・z2+B・z+Cの二次曲線によって近似されている本実施形態においては、κ=2・Aとなる。
ステップS103からステップS104に進むと、操舵制御部20は、例えば、以下の(6)式により、自車両が目標コースに沿って走行するのに必要な、電動モータ12に対する横位置フィードバック制御量(電流値)Ifbを算出する。
Ifb=Gifb・ΔXtv …(6)
ここで、Gifbは、予め実験・演算等により設定しておいたゲインである。また、ΔXtvは、図6に示す関係に基づいて、以下の(7)式により算出される。
ΔXtv=xt−xv …(7)
この(7)式において、xtは車両の前方注視点(0,zv)のz座標における目標コースのx座標であり、xvは車両の前方注視点(0,zv)のz座標における推定車両軌跡のx座標である。前方注視点(0,zv)の前方注視距離(z座標)であるzvは、本実施形態では、zv=T・Vによって算出される。ここで、Tは予め設定しておいた予見時間であり、例えば、1.2secに設定されている。
従って、xvは、車両の走行状態に基づいて車両の諸元や車両固有のスタビリティファクタAs等を用いる場合には、例えば、以下の(8)式によって算出することができる。
xv=(1/2)・(1/(1+As・V2))・(θp/Lw)・(T・V)2
…(8)
ここで、Lwはホイールベースである。
一方、ステップS102からステップS105に進むと、操舵制御部20は、電動モータ12に対するフィードフォワード制御量Iffを「0」に設定し、続くステップS106において、電動モータ12に対する横位置フィードバック制御量Ifbを「0」に設定した後、ステップS107に進む。
ステップS104或いはステップS106からステップS107に進むと、操舵制御部20は、例えば、以下の(9)式により、電動パワーステアリングモータ電流値Icomを算出し、算出した電動パワーステアリングモータ電流値Icomをモータ駆動部21に出力して電動モータ12を駆動制御した後、ルーチンを抜ける。
Icom=Ipsb+Iff+Ifb …(9)
ここで、例えば、目標コースが先行車の軌跡に基づいて設定されている場合であって、且つ、ステレオ画像処理装置31aにより、当該先行車にてウインカ操作がされていると判定されている場合には、操舵制御部20は、操舵角の変化量を制限することが可能である。このような操舵角の変化量の制限は、例えば、電動パワーステアリングモータ電流値Icomに対して作用するレートリミッタやフィルタの閾値を変更することにより実現可能である。
すなわち、先行車にてウインカ操作場されている場合、当該先行車は自車走行レーンから離脱する可能性が高いが、先行車としての登録が解除されるまでの間、自車両は先行車の走行軌跡を目標コースとして操舵されるため、ドライバの意図しない操舵が行われる可能性がある。その一方で、ステレオ画像処理装置31aは、街路樹から車体に差し込む木漏れ日等をウインカの点滅と誤認識する可能性があるため、先行車におけるウインカの点滅を検出した際に直ちに先行車登録を解除することは、可能な限り操舵制御の機会を確保するという観点からは好ましくない。
そこで、操舵制御部20は、先行車においてウインカ操作が検出された場合には、例えば、電動パワーステアリングモータ電流値Icomを制限して、ドライバに違和感を与えない範囲内で追従走行のための操舵を行いつつ、自車走行レーンからの先行車の離脱に備える。この場合において、ウインカの点滅回数が多いほど、先行車が車線変更等によって自車走行レーンから離脱する可能性が高まることから、操舵制御部20は、ウインカの点滅回数の増加に伴ってレートリミッタやフィルタが強く働くよう、閾値等を変更することが望ましい。
また、例えば、目標コースが先行車の走行軌跡に基づいて設定されている場合であって、且つ、左右の白線が操舵制御にとって十分な距離ではないものの所定距離以上認識できている場合には、操舵制御部20は、白線の種類に応じて操舵角の変化量を適宜制限することも可能である。
すなわち、先行車が左右白線の中心から車幅方向に所定距離以上離間して何れかの白線に接近している場合、当該先行車は自車走行レーンから離脱する可能性が高いが、先行車としての登録が解除されるまでの間、自車両が先行車の走行軌跡を目標コースとして操舵されるため、ドライバの意図しない操舵が行われる可能性がある。その一方で、先行車が車線変更を行うか否かが不確定な状況において、当該先行車が白線に対して接近したことを理由に直ちに先行車登録を解除することは、可能な限り操舵制御の機会を確保するという観点からは好ましくない。
そこで、操舵制御部20は、先行車が白線に接近した場合には、当該白線の種類に応じて電動パワーステアリングモータ電流値Icomを制限し、ドライバに違和感を与えない範囲内で追従走行のための操舵を行いつつ、自車走行レーンからの先行車の離脱に備える。すなわち、例えば、先行車が破線によって構成されている白線に接近している場合、実線によって構成されている白線に接近している場合に比べて先行車の車線変更の可能性が高い。その一方で、例えば、先行車が実線によって構成されている白線に接近している場合、車線変更の可能性は低く、何らかの危険回避等を目的として操舵させた可能性が高い。そこで、操舵制御部20は、先行車が破線からなる白線に接近している場合には、実線からなる白線に接近している場合に比べ、レートリミッタやフィルタが強く働くよう、閾値等を変更することが望ましい。
次に、上述の操舵制御に際し、操舵制御部20において用いられる目標コースの設定について説明する。この目標コースの設定は、例えば、図7に示す目標コース設定ルーチンのフローチャートに従って設定時間毎に繰り返し実行されるものであり、ルーチンがスタートすると、操舵制御部20は、先ず、ステップS201において、各前方車両の走行軌跡の推定を行う。すなわち、操舵制御部20は、例えば、上述の(1)〜(4)式を用い、現フレーム以前の複数フレームにおいて認識された各前方車両の中心点の座標を現フレームの座標系に変換する演算を行い、演算後の各前方車両の中心点の点列を、最小二乗法を用いて二次曲線に近似することにより、各前方車両の走行軌跡を推定する。
ステップS201からステップS202に進むと、操舵制御部20は、自車後方の左右白線の推定を行う。すなわち、ステレオ画像処理装置31aによって自車前方に白線が認識されている場合には、上述した前方車両の走行軌跡の推定と同様の演算により、現フレーム以前の複数フレームにおいて認識された白線候補点の座標を現フレームの座標系に変換する演算を行い、演算後の白線候補点の点列を、最小二乗法を用いて二次曲線に近似することにより、自車前方から自車後方にかけての範囲において左右白線を推定する。
続くステップS203において、操舵制御部20は、現在認識されている前方車両の何れかが先行車として登録されているか否かを調べる。
そして、操舵制御部20は、ステップS203において、先行車登録がなされていると判定した場合にはステップS204に進み、先行車登録がされていないと判定した場合にはステップS205に進む。
ステップS203からステップS204に進むと、操舵制御部20は、ステレオ画像処理装置31a等からの入力情報に基づいて、先行車の登録処理を行う。この先行車の登録処理は、例えば、図8に示す先行車登録サブルーチンのフローチャートに従って実行されるものであり、サブルーチンがスタートすると、操舵制御部20は、先ず、ステップS301において、自車前方に前方車両が検出されているか否かを調べる。
そして、操舵制御部20は、ステップS301において、前方車両が検出されていると判定した場合にはステップS302に進み、前方車両が検出されていないと判定した場合にはそのままサブルーチンを抜ける。
ステップS301からステップS302に進むと、操舵制御部20は、車速センサ32で検出された自車速V=0であるか否か、すなわち、自車両が停車しているか否かを調べる。
そして、操舵制御部20は、ステップS302において、自車両が停車している(自車速V=0である)と判定した場合にはステップS303に進み、自車両が走行している(自車速V>0である)と判定した場合にはステップS304に進む。
ステップS302からステップS303に進むと、操舵制御部20は、自車両に直近の前方車両との車間距離Dが設定距離Dth(例えば、Dth=1〜2m)以下であるか否かを調べる。
そして、操舵制御部20は、ステップS303において、直近の前方車両との車間距離Dが設定距離Dth以下であると判定した場合にはステップS307に進み、直近の前方車両との車間距離Dが設定距離Dthよりも大きいと判定した場合にはステップS304に進む。
ステップS302或いはステップS303からステップS304に進むと、操舵制御部20は、現在認識されている前方車両のうち、上述のステップS201で推定した走行軌跡が、自車両に設定された基準点O(例えば、右側のカメラ31Rの中央真下に設定された座標系の原点)に最も近い前方車両を抽出する。
続くステップS305において、操舵制御部20は、自車両の基準点に対し、抽出した前方車両の走行軌跡の車幅方向の誤差ΔE1(図10参照)が設定誤差ΔE1th以下であるか否かを調べる。
そして、操舵制御部20は、ステップS305において、走行軌跡の車幅方向の誤差ΔE1が設定誤差ΔE1th以下であると判定した場合にはステップS306に進み、走行軌跡の車幅方向の誤差ΔE1が設定誤差ΔE1thよりも大きいと判定した場合にはそのままサブルーチンを抜ける。
ステップS305からステップS306に進むと、操舵制御部20は、現在抽出されている前方車両を先行車として登録した後、サブルーチンを抜ける。このように、本実施形態の操舵制御部20は、基本的には、自車両と、各前方車両の走行軌跡と、の関係に基づいて先行車を選定する。
一方、ステップS303からステップS307に進むと、操舵制御部20は、自車両と直近の前方車両とのラップ率Rを演算する。ここで、図11に示すように、自車両の車幅をaとし、自車両に対する前方車両の投影幅をbとすると、ラップ率Rは、例えば、以下の(10)式によって求められる。
R=(b/a)・100 …(10)
続くステップS308において、操舵制御部20は、自車両と直近の前方車両とのラップ率Rが設定ラップ率Rth以上であるか否かを調べる。
そして、操舵制御部20は、ステップS308において、ラップ率Rが設定ラップ率Rth以上である場合にはステップS309に進み、ラップ率Rが設定ラップ率Rth未満である場合にはそのままサブルーチンを抜ける。
ステップS308からステップS309に進むと、操舵制御部20は、自車両に直近の前方車両を先行車として登録した後、サブルーチンを抜ける。このように、本実施形態の操舵制御部20は、自車両V=0の停止状態にあり、且つ、直近の前方車両との距離Dが設定距離Dth以下となる渋滞時等のように、前方車両の走行軌跡を十分な距離に渡って推定することが困難である状況においても、ラップ率Rに基づいて先行車を選定することが可能となっている。
図7に示すメインルーチンにおいて、ステップS203からステップS205に進むと、操舵制御部20は、予め設定された条件に応じて先行車登録を解除するための処理を行う。この先行車登録の解除処理は、例えば、図12,13に示す先行車登録解除処理サブルーチンのフローチャートに従って実行されるものであり、サブルーチンがスタートすると、操舵制御部20は、先ず、ステップS401において、自車走行レーンを区画する左右白線が認識されレいるか否かを調べる。
そして、操舵制御部20は、ステップS401において、自車走行レーンを区画する左右の白線のうちの少なくとも何れか一方が認識されているか否かを調べる。なお、この場合における白線の認識レベルは、自車両が走行すべき目標コースを設定するために必要なレベルまでは必要とせず、例えば、目標コースを設定するために必要な認識距離よりも短い距離であって、自車前方において自車走行レーンを所定距離判別できる程度に認識されていればよい。
そして、操舵制御部20は、ステップS401において、左右白線のうちの少なくとも何れか一方が認識されていると判定した場合にはステップS402に進み、左右白線が認識されていないと判定した場合にはステップS403に進む。
ステップS401からステップS402に進むと、操舵制御部20は、自車走行レーンを区画する白線に基づいて自車走行レーンの曲率κlを算出した後、ステップS406に進む。すなわち、操舵制御部20は、例えば、左右白線の何れもが所定に認識されている場合には、これら白線を近似する二次曲線に基づいて自車走行レーンの中心(左右の白線中心)を表す二次曲線を求め、この白線中心の二次曲線に基づいて自車走行レーンの曲率κlを推定する。或いは、操舵制御部20は、例えば、左右白線のうちの何れか一方しか認識されていない場合には、この白線を近似する二次曲線を自車両の中心までオフセットさせた二次曲線を求め、このオフセットさせた二次曲線に基づいて自車走行レーンの曲率κlを推定する。
一方、ステップS401からステップS403に進むと、操舵制御部20は、ナビゲーション装置35から自車走行レーンに関する地図情報が入力されているか否かを調べる。
そして、操舵制御部20は、ステップS403において、自車走行レーンに関する地図情報が入力されていると判定した場合にはステップS404に進み、自車走行レーンに関する地図情報が入力されていないと判定した場合にはステップS405に進む。
ステップS403からステップS404に進むと、操舵制御部20は、地図情報に基づいて自車走行レーンの曲率κlを算出(推定)した後、ステップS406に進む。
ステップS402或いはステップS404からステップS406に進むと、操舵制御部20は、先行車の走行軌跡を近似する二次曲線から求まる曲率κvと自車走行レーンの曲率κlとの偏差|Δκvl|を算出し、当該偏差|Δκvl|が設定偏差Δκth以上であるか否かを調べる。ここで、設定偏差Δκthは、先行車が自車走行レーンから車線変更を行う場合には自車走行レーンの曲率κlよりも大きな曲率で旋回することが想定されることに着目し、予め実験やシミュレーション等に基づいて設定されたものである。
そして、ステップS406において、偏差|Δκvl|が設定偏差Δκth以上であると判定した場合、操舵制御部20は、先行車が車線変更等によって自車走行レーンから離脱する可能性が高いと判断してステップS412に進む。
一方、ステップS406において、偏差|Δκvl|が設定偏差Δκth未満であると判定した場合、操舵制御部20は、ステップS407に進む。
また、ステップS403からステップS405に進むと、操舵制御部20は、先行車の走行軌跡から求まる曲率|κv|が設定曲率κth以上であるか否かを調べる。ここで、設定曲率κthは、一般道や首都高速道路等において道路上に想定され得るタイトカーブの曲率よりも大きな曲率に設定されている。
そして、操舵制御部20は、ステップS405において、曲率|κv|が設定曲率κth以上であると判定した場合、操舵制御部20は、先行車が車線変更等によって自車走行レーンから離脱する可能性が高いと判断してステップS412に進む。
一方、ステップS405において、曲率|κv|が設定曲率κth未満であると判定した場合、操舵制御部20はステップS407に進む。
ステップS405或いはステップS406からステップS407に進むと、操舵制御部20は、自車走行レーンを区画する左右の白線が認識されているか否かを調べる。なお、この場合における左右白線の認識レベルは、自車両が走行すべき目標コースを設定するために必要なレベルまでは必要とせず、例えば、目標コースを設定するために必要な認識距離よりも短い距離であって、自車前方において自車走行レーンを所定距離判別できる程度に認識されていればよい。
そして、操舵制御部20は、ステップS407において、左右白線が認識されていると判定した場合にはステップS408に進み、左右白線が認識されていないと判定した場合にはステップS409に進む。
ステップS407からステップS408に進むと、操舵制御部20は、自車走行レーンを区画する左右白線の中心と、先行車の走行軌跡に基づいて設定された目標コースと、の偏差|ΔE2|(図14参照)が、設定偏差ΔE2th以上であるか否かを調べる。
そして、ステップS408において、左右白線の中心と目標コースとの偏差|ΔE2|が設定偏差ΔE2th以上であると判定した場合、操舵制御部20は、先行車が車線変更等によって自車走行レーンから離脱する可能性が高いと判断してステップS412に進む。
一方、ステップS408において、左右白線の中心と目標コースとの偏差|ΔE2|が設定偏差ΔE2th未満であると判定した場合、操舵制御部20はステップS409に進む。
ステップS407或いはステップS408からステップS409に進むと、操舵制御部20は、自車走行レーンの隣レーン等を併走する前方車両(併走車)が存在するか否かを調べる。ここで、操舵制御部20は、例えば、前方車両の走行軌跡が自車両の中心から車幅方向に設定距離(例えば、左右白線で区画される一般的な走行レーン幅)以上離間しており、且つ、当該前方車両が自車両の進行方向と同じ速度成分を有して移動しているとき、当該前方車両を併走車と判断する。
そして、操舵制御部20は、ステップS409において、併走車が存在すると判定した場合にはステップS410に進み、併走車が存在しないと判定し他場合にはステップS411に進む。
ステップS409からステップS410に進むと、操舵制御部20は、先行車が併走車にラップしているか否か、すなわち、併走車の走行軌跡に車幅を付与した領域内に先行車が進入しているか否か(例えば、図15参照)を調べる。
そして、ステップS410において、先行車が併走車にラップしていると判定した場合、操舵制御部20は、先行車が車線変更等によって自車走行レーンから離脱する可能性が高いと判断してステップS412に進む。
一方、ステップS410において、先行車が併走車にラップしていないと判定した場合、操舵制御部20は、ステップS411に進む。
ステップS409或いはステップS410からステップS411に進むと、操舵制御部20は、先行車のウインカが設定回数以上(例えば、3回以上)点滅しているか否かを調べる。
そして、ステップS411において、先行車のウインカが設定回数以上点滅していると判定した場合、操舵制御部20は、先行車が車線変更等によって自車走行レーンから離脱する可能性が高いと判断してステップS412に進む。
一方、ステップS411において、先行車のウインカが設定回数以上点滅していないと判定した場合、操舵制御部20は、そのままサブルーチンを抜ける。
また、ステップS405、ステップS406、ステップS408、ステップS410、或いは、ステップS411からステップS412に進むと、操舵制御部20は、現在登録されている先行車の登録を解除した後、サブルーチンを抜ける。
図7のメインルーチンにおいて、ステップS204或いはステップS205からステップS206に進むと、操舵制御部20は、自車走行レーンを区画する左右白線が設定距離以上認識されているか否か、すなわち、自車両が走行すべき目標コースを設定するに十分な距離の左右白線が認識されているか否かを調べる。
そして、ステップS206において、自車走行レーンを区画する左右白線が設定距離以上認識されていると判定した場合、操舵制御部20は、ステップS209に進み、現在認識されている左右白線の中心に沿って目標コースを設定した後、ルーチンを抜ける。
一方、ステップS206において、自車走行レーンを区画する左右白線が設定距離以上認識されていないと判定した場合、操舵制御部20は、ステップS207に進み、自車前方に先行車が登録されているか否かを調べる。
そして、ステップS207において、自車前方に先行車が登録されていると判定した場合、操舵制御部20は、ステップS208に進み、当該先行車の走行軌跡を目標コースとして設定した後、ルーチンを抜ける。
一方、ステップS207において、自車前方に先行車が登録されていないと判定した場合、操舵制御部20は、そのままルーチンを抜ける。
このような実施形態によれば、前方車両を含む前方環境を認識して前方車両の走行軌跡を推定し、前方車両のうち、自車両に設定された基準点に対する走行軌跡の車幅方向の誤差|ΔE1|が最も小さく且つ当該誤差|ΔE1|が設定閾値ΔE1th以下の前方車両を先行車として登録し、この先行車の軌跡に基づいて自車両が走行すべき目標コースを設定可能とすることにより、目標コースを適切に設定して安定した操舵支援制御を実現することができる。
すなわち、自車両に走行軌跡が最も近い前方車両であっても、当該走行軌跡の車幅方向の誤差|ΔE1|が設定誤差ΔE1thよりも大きい場合には当該前方車両を先行車として登録しないので、隣車線を走行する前方車両の走行軌跡に基づいて目標コースを設定することを的確に防止することができ、左右白線を十分に認識できない場合にも安定した操舵支援を実現することができる。
この場合において、自車両の停車時であって、自車前方の設定距離以内に車幅方向のラップ率Rが設定ラップ率Rth以上の前方車両がある場合には、当該前方車両を先行車として登録することにより、自車両及び前方車両がほとんど移動せず十分な距離の走行軌跡を推定することが困難な渋滞時等においても、先行車を的確に登録することができる。
また、前方車両の中から先行車を登録した後において、自車走行レーンの曲率κlを推定し、先行車の走行軌跡の曲率κvと自車走行レーンの曲率κlとの偏差Δκvlが設定偏差Δκth以上であるとき、先行車としての登録を解除することにより、自車走行レーンからの先行車の離脱を的確に判断して操舵支援制御による不要な車線変更を防止することができる。
すなわち、例えば、高速道路であっても、一般的な高速道路と首都高速道路とでは想定されるカーブの曲率が異なるため、単に先行車の走行軌跡の曲率に基づいて自車走行レーンからの先行車の離脱を精度よく判断することが困難な場合があるが、本実施形態のように、自車走行レーンの曲率κlを推定し、先行車の走行軌跡の曲率κvと自車走行レーンの曲率κlとの偏差Δκvlに基づいて先行車の離脱(先行車登録の解除)を判定することにより、あらゆる道路形状に対して精度よく先行車の離脱を判断することができる。
この場合において、自車走行レーンを区画する左右白線のうち少なくとも何れか一方がステレオ画像処理装置31aにおいて認識されている場合には、当該白線に基づいて自車走行レーンの曲率κlを推定することにより、リアルタイムな情報を用いて先行車登録の解除判定を行い、操舵支援制御による不要な車線変更を的確に防止することができる。
また、自車走行レーンを区画する左右白線が認識されない場合であっても、自車走行レーンに対応する地図情報がある場合には、当該地図情報に基づいて自車走行レーンの曲率κlを推定することにより、十分な白線認識ができない場合にも広く先行車登録の解除判定を行い、操舵支援制御による不要な車線変更を的確に防止することができる。
さらに、自車走行レーンの曲率κlを推定することが困難な場合であっても、先行車の走行軌跡の曲率κvが道路上に想定され得る曲率以上である場合に先行車登録を解除することにより、操舵支援制御による不要な車線変更をより的確に防止することができる。
なお、本発明は、以上説明した各実施形態に限定されることなく、種々の変形や変更が可能であり、それらも本発明の技術的範囲内である。