本発明の第1実施形態に係る衝突回避制御装置(以下、「第1装置」と称する。)である。
グリッドマップの初期状態を示す図である。
視差投票マップの初期状態を示す図である。
自車両の進行方向前方に障害物が存在するか否かを判定する方法を説明するために用いる図である。
前方障害物が連続障害物の場合において、TTCが時間閾値Tth1になった時点で設定された回避経路(太線参照)を示す図である。
前方障害物が非連続障害物の場合において、TTCが時間閾値Tth1になった時点で設定された回避経路(太線参照)を示す図である。
前方障害物と連続している障害物が存在する障害物領域を探索する方法を説明するために用いる図である。
連結領域及び連結領域を長手方向に線形近似することにより得られる線分を示す図である。
前方障害物が連続障害物の場合における回避領域コストの算出方法を説明するために用いる図である。
第1装置の衝突回避ECUのCPU(以下、「第1装置のCPU」と称する。)が実行するルーチンを示すフローチャート(その1)である。
第1装置のCPUが実行するルーチンを示すフローチャート(その2)である。
第1装置のCPUが実行するルーチンを示すフローチャート(その3)である。
第1装置のCPUが実行するルーチンを示すフローチャート(その4)である。
第1装置のCPUが実行するルーチンを示すフローチャート(その5)である。
本発明の第2実施形態に係る衝突回避制御装置(以下、「第2装置」と称する。)が設定した回避経路が走行経路として安全であるか否かを判定する方法を説明するために用いる図である。
(第1実施形態)
図1は、本発明の第1実施形態に係る衝突回避制御装置(以下、「第1装置」とも称する。)の概略システム構成図である。第1装置が搭載された車両を他車両と区別する必要がある場合、「自車両」と称する。第1装置は、自車両に衝突する可能性が高い障害物との衝突を回避するための衝突回避制御を実施して、ドライバの運転を支援する装置である。
第1装置は衝突回避ECU10を備える。なお、ECUは、「Electirc Control Unit」の略であり、マイクロコンピュータを主要部として備える。マイクロコンピュータは、CPU31とROM32及びRAM33等の記憶装置とを含む。CPU31はROM32に格納されたインストラクション(プログラム、ルーチン)を実行することによって、各種機能を実現する。
第1装置は、更に、カメラセンサ11、車両状態センサ12、ブレーキECU20、ブレーキセンサ21、ブレーキアクチュエータ22、ステアリングECU40、モータドライバ41、転舵用モータ42、警報ECU50及びブザー51を備える。衝突回避ECU10は、カメラセンサ11及び車両状態センサ12と接続されており、ブレーキECU20、ステアリングECU40及び警報ECU50と、通信・センサ系CAN(Controller Area Network)を介してデータ交換可能(通信可能)に接続されている。
カメラセンサ11は、自車両前方を撮像する車載ステレオカメラ装置(図示省略)を備える。車載ステレオカメラ装置は、自車両のルーフ前端部の車幅方向中央付近に設けられ、車両前後軸より左側に配置される左カメラと、車両前後軸より右側に配置される右カメラと、を有する。左カメラは所定時間が経過する毎に自車両前方の領域を撮像し、撮像した左画像を表す左画像信号を衝突回避ECU10に出力する。同様に、右カメラは所定時間が経過する毎に自車両前方の領域を撮像し、撮像した右画像を表す右画像信号を衝突回避ECU10に出力する。
車両状態センサ12は、自車両の走行状態に関する車両状態情報を取得するセンサである。車両状態センサ12は、自車両の速度(即ち、車速)を検出する車速センサ、自車両の水平方向の前後方向及び左右(横)方向の加速度を検出する加速度センサ、自車両のヨーレートYを検出するヨーレートセンサ、及び、操舵輪の転舵角を検出する転舵角センサ等を含む。ヨーレートYの値は、自車両が右方向に旋回する場合は正であり、左方向に旋回する場合は負である。車両状態センサ12は、所定時間が経過する毎に車両状態情報を衝突回避ECU10に出力する。
衝突回避ECU10は、複数の矩形状の単位領域に分割されたグリッドマップを格納している。グリッドマップは、車載ステレオカメラ装置の撮像範囲(即ち、自車両の前方の領域)に対応している(詳細は後述)。衝突回避ECU10は、カメラセンサ11から出力された左画像信号及び右画像信号から、視差情報と、輝度値を含む画素情報と、を有する視差画像を生成する。衝突回避ECU10は、視差情報及び画素情報に基づいて、グリッドマップの単位領域を、障害物が存在する障害物領域と、白線が存在する白線領域と、自車両が安全に走行できる領域である安全領域と、上記何れの領域にも該当しない不明領域(即ち、自車両が安全に走行できる領域であるか不明な領域)と、に特定(分類)する。各単位領域には、領域の種類に応じて異なるコストが設定される。加えて、衝突回避ECU10は、視差情報に基づいて、障害物の自車両に対する相対速度及び距離を算出する。なお、本明細書における「障害物」とは、自車両の周囲に存在する移動立体物(車両、歩行者、自転車等)及び固定立体物(ガードレール、側壁、中央分離帯、街路樹等)を表す。
加えて、衝突回避ECU10は、自車両の進行方向前方に障害物領域が存在する場合、当該領域に存在する障害物が連続性を有する連続障害物であるか、連続性を有さない非連続障害物であるかを判定する。なお、連続障害物は、典型的にはガードレール、側壁又は中央分離帯等を表し、非連続障害物は、典型的には先行車両を表す。障害物が連続障害物であると判定した場合、衝突回避ECU10は、当該連続障害物の自車両の進行方向に対する傾きを算出し、傾きと車速とに基づいて当該連続障害物との衝突を回避するための回避経路を設定する。一方、障害物が非連続障害物であると判定した場合、衝突回避ECU10は、当該非連続障害物と白線(自車両が走行する車線である自車線を構成する白線)との間を通過するために必要な横移動距離(車幅方向における移動距離)を算出し、横移動距離と車速とに基づいて当該非連続障害物との衝突を回避するための回避経路を設定する。
更に、衝突回避ECU10は、グリッドマップを参照して、自車両が回避経路に沿って走行したときに通過することになる領域を含む回避領域のコスト(回避領域コスト)を算出する。回避領域コストは、回避領域内に存在する上記4種類の領域の個数及びコストに基づいて算出される。衝突回避ECU10は、回避領域コストに基づいて、回避経路が自車両の走行経路として安全であるか否かを示す尺度である信頼度を算出する。そして、所定のタイミングにおいて、信頼度及び後述する他の条件に基づいて、回避経路に沿って自車両が走行するように自動操舵制御を実行するか否かを判定する。衝突回避ECU10は、自動操舵制御を実行すると判定した場合、自動操舵制御量を算出し、当該制御量を含む自動操舵要求信号をステアリングECU40に送信する。加えて、衝突回避ECU10は、所定のタイミングにおいて、自車両を自動制動するための制御量を算出し、当該制御量を含む自動制動要求信号をブレーキECU10に送信したり、ドライバに注意喚起するための注意喚起要求信号を警報ECU50に送信したりする。
ブレーキECU20は、複数のブレーキセンサ21と接続され、これらのセンサの検出信号を受け取るようになっている。ブレーキセンサ21は、自車両に搭載された制動装置(不図示)を制御する際に使用されるパラメータを検出するセンサである。ブレーキセンサ21は、ブレーキペダル操作量センサ及び各車輪の回転速度を検出する車輪速度センサ等を含む。
ブレーキECU20は、ブレーキアクチュエータ22と接続されている。ブレーキアクチュエータ22は油圧制御アクチュエータである。ブレーキアクチュエータ22は、ブレーキペダルの踏力によって作動油を加圧するマスシリンダと、各車輪に設けられた周知のホイールシリンダを含む摩擦ブレーキ装置と、の間の油圧回路(何れも、図示略)に配設される。ブレーキアクチュエータ22は、ホイールシリンダに供給する油圧を調整する。ブレーキECU20は、ブレーキアクチュエータ22を駆動することにより各車輪に制動力(摩擦制動力)を発生させ、自車両の加速度(負の加速度、即ち、減速度)を調整するようになっている。
加えて、ブレーキECU20は、衝突回避ECU10から送信されてくる信号(自動制動要求信号)に基づいてブレーキアクチュエータ22を駆動することにより、自車両の加速度を調整することができる。
ステアリングECU40は、周知の電動パワーステアリングシステムの制御装置であって、モータドライバ41に接続されている。モータドライバ41は、転舵用モータ42に接続されている。転舵用モータ42は、自車両SVの「操舵ハンドル、操舵ハンドルに連結されたステアリングシャフト及び操舵用ギア機構等を含むステアリング機構」に組み込まれている。転舵用モータ42は、モータドライバ41から供給される電力によってトルクを発生し、このトルクによって操舵アシストトルクを加えたり、左右の操舵輪を転舵したりする。
加えて、ステアリングECU40は、衝突回避ECU10から送信されてくる信号(自動操舵要求信号)に基づいてモータドライバ41を制御して転舵用モータ42にトルクを発生させることにより、操舵アシストトルクを加えたり、左右の操舵輪を転舵したりすることができる。
警報ECU50は、ブザー51に接続されている。警報ECU50は、衝突回避ECU10から送信されてくる信号(注意喚起要求信号)に基づいてブザー51を鳴動させてドライバへの注意喚起を行う。
(作動の詳細)
次に、第1装置の作動の詳細について説明する。
<グリッドマップ内の単位領域の特定>
第1装置は、衝突回避ECU10のRAMに、図2に示すグリッドマップ60を予め格納している。グリッドマップ60は、車載ステレオカメラ装置の撮像範囲の領域を、平面視に変換した領域に対応している。グリッドマップ60は、複数の格子状の単位領域62に分割されている。第1装置は、自車両の図示しないエンジンスイッチ(イグニッション・キー・スイッチ)がオンされてからオフされるまでの期間(以下、「エンジンオン期間」とも称する。)、所定の演算周期毎に、グリッドマップ60内の単位領域62を、次の4種類の領域、即ち、障害物領域、白線領域、不明領域、安全領域の何れかの領域として特定する。単位領域62の領域の特定は、公知の手法を用いて行われる(例えば、特開2016−206775号公報、及び、実吉敬二、「ステレオカメラによる自動車運転支援システム」、情報処理学会研究報告、2013年1月23日を参照)。以下、具体的に説明する。
第1装置は、カメラセンサ11から出力された左画像信号及び右画像信号に基づいて、視差情報と、輝度値を含む画素情報と、を有する視差画像を生成する。視差画像を構成する各画素には視差情報及び画素情報が対応付けられている。第1装置は、衝突回避ECU10のRAMに、図3に示す視差投票マップ70を予め格納している。視差投票マップ70は、横方向の辺が視差画像の横方向(車幅方向)の位置に対応し、縦方向の辺が視差の大きさに対応するように定められた複数の矩形状のブロック72を配列させて構成されている。第1装置は、視差画像中の画素の位置及び当該画素の視差の大きさに基づいて、視差投票マップ70の対応するブロック72に画素を投票(分類)する。そして、第1装置は、視差投票マップ70の各ブロック72について、視差の平均値、視差の偏差、視差画像の縦方向における画素の座標の平均値及び視差画像の縦方向における画素の座標の偏差を算出する。
第1装置は、視差投票マップ70の各ブロック72における画素の縦方向の分布(視差画像の縦方向における画素の座標の偏差)及び視差方向の分布(視差の偏差)に基づいて、各ブロック72の属性を障害物、路面及び不明の何れかに設定する。即ち、第1装置は、視差投票マップ70のブロック72内に、同程度の視差(距離)を有する画素が、視差画像の縦方向において広い範囲に分布している場合、当該画素の集合は障害物を示していると判定する。この場合、第1装置は、当該ブロック72の属性を障害物に設定し、当該ブロック72に分類された画素を障害物候補点として特定する。
一方、第1装置は、視差投票マップ70のブロック72内に、同程度の視差(距離)を有する画素が、視差画像の縦方向における狭い範囲に分布し、視差が減少するにつれて(自車両からの距離が増大するにつれて)視差画像の縦方向における画素の位置が滑らかに上昇している場合、当該画素の集合は路面を示していると判定する。この場合、第1装置は、当該ブロック72の属性を路面に設定し、当該ブロック72に分類された画素を路面候補点として特定する。他方、第1装置は、障害物及び路面の何れの属性にも設定されなかったブロック72に不明の属性を設定し、当該ブロック72に分類された画素を不明候補点として特定する。なお、障害物候補点、路面候補点及び不明候補点に対応付けられている視差情報及び画素情報は、何れも「周辺情報」の一例に相当する。
加えて、第1装置は、視差画像に含まれる画素情報に基づいて公知の手法を用いてエッジを検出し、エッジの視差画像を設定する。そして、白線や車線の規格に合ったエッジの組のみを選択することにより、白線を検出する。第1装置は、白線として検出された位置に存在する画素を白線候補点として特定する。なお、白線候補点に対応付けられている視差情報及び画素情報は、「周辺情報」の一例に相当する。
グリッドマップ60の横方向の辺及び縦方向の辺は、それぞれ、視差画像の横方向の位置及び縦方向の位置(厳密には視差画像を平面視画像に変換したときの縦方向の位置)に対応している。単位領域62は、例えば、横25センチ×縦50センチの範囲に相当する領域である。図2において、自車両の先端における車幅方向の中心は、点64に位置している。各単位領域62は、初期状態において不明領域に設定されている。
第1装置は、視差投票マップ70内の障害物候補点、路面候補点及び不明候補点と、エッジの視差画像内の白線候補点と、を、グリッドマップ60の対応する位置にプロットする。そして、第1装置は、グリッドマップ60の単位領域62内に障害物候補点が存在している場合、路面候補点、白線候補点及び不明候補点の存在有無に関わらず、当該単位領域62には障害物が存在していると判定して、当該単位領域を、不明領域から障害物領域に変更(特定)する。加えて、第1装置は、グリッドマップ60の単位領域62内に障害物候補点が存在しておらず、白線候補点が存在している場合、路面候補点及び不明候補点の存在有無に関わらず、当該単位領域62には白線が存在していると判定して、当該単位領域62を、不明領域から白線領域に変更(特定)する。更に、第1装置は、グリッドマップ60の単位領域62内に障害物候補点及び白線候補点が存在しておらず、路面候補点が存在している場合、不明候補点の存在有無に関わらず、当該単位領域62には路面が存在していると判定して、当該単位領域62を、不明領域から路面領域に変更(特定)する。更に、第1装置は、グリッドマップ60の単位領域62内に不明候補点しか存在していない場合、当該単位領域62は上記の障害物領域、白線領域及び路面領域の何れにも該当しないと判定して、当該単位領域62を不明領域に維持(特定)する。
ここで、路面領域の中には、自車両の走行路面として安全とは言えない単位領域(例えば、路面に自車両が安全に走行できない程度の窪みや傾斜面が形成されている領域)62が存在する可能性がある。加えて、不明領域の中には、自車両の走行路面として安全である単位領域62が存在する可能性がある。そこで、第1装置は、公知の手法を用いて、路面領域又は不明領域として特定された単位領域62内の画素(路面候補点又は不明候補点)に対応付けられている視差情報及び画素情報に基づいて、当該路面領域及び不明領域が自車両の走行路面として安全であるか否かを判定する。安全であると判定された場合、第1装置は、当該単位領域62は自車両の走行路面として安全であると判定して、当該単位領域62を路面領域又は不明領域から、安全領域に変更(特定)する。一方、安全ではないと判定された場合、第1装置は、当該単位領域62は自車両の走行路面として安全であるか否か不明であると判定して、当該単位領域62を路面領域又は不明領域から、不明領域に変更又は維持(特定)する。なお、「路面領域又は不明領域として特定された単位領域62内の画素(路面候補点又は不明候補点)に対応付けられている視差情報及び画素情報」は、「周辺情報」の一例に相当する。
このようにして、第1装置は、グリッドマップ60の各単位領域62を、障害物領域、白線領域、安全領域及び不明領域の何れかに分類する。単位領域62には、領域の種類に応じて異なるコストが設定される。このコストは、自車両が単位領域62に進入した場合の危険度を示す尺度であり、危険度が大きいほど高く設定される。障害物領域のコストは、自車両が障害物に接触する可能性があるため、最も高く設定される。白線領域のコストは、自車両が白線を越える(自車線を逸脱する)可能性があり、その結果、障害物に接触する可能性があるため、障害物領域のコストの次に高く設定される。不明領域のコストは、障害物や白線が存在する可能性は極めて低いものの、走行路面として安全かどうか不明なため、白線領域のコストの次に高く設定される。安全領域のコストは、ゼロに設定される。第1装置は、上記4種類の領域の何れかとして特定されたグリッドマップ60を衝突回避ECU10のRAMに格納する。RAMに格納されたグリッドマップ60は、演算周期毎に更新される。
<注意喚起>
第1装置は、エンジンオン期間中、演算周期毎に、自車両の進行方向前方に障害物が存在するか否かを判定する。具体的には、図4に示すように、第1装置は、グリッドマップ60において自車両の車幅方向の中心を表す点64から進行方向TDに延びる仮想直線66を設定し、当該仮想直線66が障害物領域を通過する場合、自車両の進行方向前方に障害物が存在すると判定する。この場合、第1装置は、自車両が現在の車速で走行を継続した場合に当該障害物に衝突するまでに要すると予測される時間である衝突予測時間TTC(Time To Collision)を算出する。TTCは、当該障害物までの距離を当該障害物に対する自車両の相対速度で除算することにより算出され得る。第1装置は、TTCが所定の時間閾値Tth0以下であり、且つ、時間閾値Tth0よりも小さい所定の時間閾値Tth1より大きい場合、自車両が当該障害物に衝突する可能性があると判定し、ブザー51を鳴動させてドライバに注意喚起する。時間閾値Tth0は注意喚起を行うか否かを決定する閾値である。注意喚起によりドライバがブレーキ操作を行い、その結果TTCが時間閾値Tth0よりも大きくなった場合、注意喚起は終了される。一方、注意喚起してもドライバがブレーキ操作を行わず、その結果TTCが時間閾値Tth1以下になった場合も、注意喚起は終了される。以下では、TTCが時間閾値Tth0以下の障害物を、特に「前方障害物」と称する。
<回避経路の設定>
図5A及び図5Bに示すように、第1装置は、前方障害物までのTTCが時間閾値Tth1以下になった場合、TTCが時間閾値Tth1よりも小さい所定の時間閾値Tth3になるまで、演算周期毎に、前方障害物との衝突を回避するための回避経路rA、rB(図5A及び図5Bに太線で示す。)を設定する。時間閾値Tth1は、回避経路rA、rBの設定を開始するか否かを決定する閾値であり、時間閾値Tth3は、回避経路rA、rBに沿った自動操舵制御を実行するか否かを判定するタイミングが到来したか否かを決定する閾値である。この回避経路rA、rBは、TTCが時間閾値Tth3になると予想される地点PA、PB(即ち、「前方障害物に対する現在の相対速度」に「時間閾値Tth3」を乗算した距離だけ前方障害物よりも手前の地点)から延びる経路である。別言すれば、自車両は地点PA、PBまでは直進すると想定されている。回避経路rA、rBを設定するに際し、第1装置は、前方障害物が連続障害物COであるか非連続障害物NCOであるかを判定し、判定結果に基づいて異なるパラメータを用いて回避経路rA、rBを設定する。なお、時間閾値Tth1は、「第1時間閾値」の一例に相当し、時間閾値Tth3は、「第3時間閾値」の一例に相当する。
まず、図6を参照して、前方障害物が連続性を有する連続障害物COであるのか、連続性を有さない非連続障害物NCOであるのかを判定する方法について説明する。図6に示すように、第1装置は、グリッドマップ60上に、所定の大きさを有する可動枠68を、前方障害物が存在する障害物領域Aが中心に位置するように配置する。例えば、この可動枠68は、横125センチ(単位領域5個分の長さ)×縦250センチ(単位領域5個分の長さ)の範囲に相当する。以下では、可動枠68の中心に位置する障害物領域Aを「中心障害物領域A」と称する。
そして、第1装置は、可動枠68の範囲内で、中心障害物領域Aに近い単位領域62から順に障害物領域を探索していく。具体的には、中心障害物領域Aに隣接する8個の単位領域62の中から障害物領域を探索する。例えば、第1装置は、中心障害物領域Aの右上に位置する単位領域62urから反時計回りに障害物領域を探索する。8個の単位領域62の中に障害物領域が存在しない場合、第1装置は、当該8個の単位領域62にその外周側で隣接する16個の単位領域62の中から障害物領域を探索する。可動枠68の範囲に障害物領域が存在する場合、第1装置は、その障害物領域が新たな中心障害物領域Aとなるように可動枠68を移動させ、移動後の可動枠68の範囲内で障害物領域を探索する。このとき、既に中心障害物領域Aに設定された障害物領域は探索の対象から除外される。
第1装置は、このようにして可動枠68を移動させながら、障害物領域を探索する。可動枠68の範囲内に(現在および過去の中心障害物領域Aを除いて)障害物領域が存在しなくなった場合、第1装置は、これまでに中心障害物領域Aに設定された障害物領域同士を連結して、1つの連結領域80(図7参照)を作成する。このとき、障害物領域同士が隣接していなければ、その間に位置する単位領域62は連結領域80に含められる(例えば、図6の単位領域62a、62b、62cは連結領域80に含められる。)。
連結領域80を作成したら、第1装置は、図7に示すように、連結領域80を長手方向に線形近似し、線形近似により得られた線分82の長さを算出する。そして、線分82の長さが所定の長さ閾値以上であるか否かを判定する。第1装置は、線分82の長さが長さ閾値以上であると判定した場合、連結領域80に存在する障害物は連続性を有する、即ち、連続障害物COであると判定する。一方、第1装置は、線分82の長さが長さ閾値未満であると判定した場合、連結領域80に存在する障害物は連続性を有さない、即ち、非連続障害物NCOであると判定する。長さ閾値は、ガードレール、側壁及び中央分離帯等が連続性を有すると判定され、車両、歩行者及び自転車等が連続性を有さないと判定される値に予め設定されている。
次に、前方障害物が連続障害物COであると判定された場合の回避経路rAの設定方法について図5Aを参照して説明する。第1装置は、前方障害物が連続障害物COであると判定した場合、自車両の進行方向TDに延びる仮想直線66に対する連結領域80(図5Aでは図示省略)の線分82の傾きg[deg]を算出する。以下、当該傾きgを、単に「連続障害物の傾きg」とも称する。そして、連続障害物COの傾きgと、車速と、に基づいて回避経路rAを設定する。なお、傾きgには、自車両の進行方向TD(即ち、仮想直線66)と連結領域80の線分82とがなす2つの角度のうち鋭角の角度が採用される。傾きgの値は、連続障害物COが自車両に対して右斜め前方に延びている場合は正であり、連続障害物COが自車両に対して左斜め前方に延びている場合は負である。
第1装置は、衝突回避ECU10のROMに、傾きg及び車速と、ヨーレートYと、の関係を規定するマップ(ヨーレートマップ)と、傾きg及び車速と、時間tと、の関係を規定するマップ(時間マップ)と、を予め格納している。ヨーレートマップは、自車両が連続障害物COとの衝突を回避するために必要なヨーレートYの情報を含む。時間マップは、自車両が連続障害物COとの衝突を回避するために、ヨーレートマップを参照して得られたヨーレートYで走行を継続すべき時間tの情報を含む。なお、ヨーレートマップのヨーレートYの値は、傾きgが正のときは正であり、傾きgが負のときは負に設定されている。
連続障害物COの傾きgと車速とを両マップにそれぞれ適用することにより、ヨーレートYと、当該ヨーレートYで走行する時間tとが一義的に決定される。これにより、回避経路rAの形状が一義的に決定される。即ち、「回避経路rAを設定すること」は、「連続障害物COの傾きg及び車速を上記2つのマップに適用してヨーレート及Yび時間tを決定すること」と同義である。なお、ここでいう車速とは、「地点PA(回避経路rAの開始地点)において推定される車速」である。この車速は、自動制動制御(後述)を実行する時点まで現在の車速が維持されると仮定すると、「現在の車速」と「自動制動制御(後述)による目標減速度」とから推定され得る。以下では、当該車速を現在の車速と区別するために「推定車速」と称する。
ヨーレートマップでは、車速が一定の場合においては傾きgの絶対値が大きくなるほどヨーレートYの絶対値が大きくなり、傾きgが一定の場合においては車速が大きくなるほどヨーレートYの絶対値が大きくなるように設定されている。
一方、時間マップでは、車速が一定の場合においては傾きgの絶対値が大きくなるほど時間tが長くなり、傾きgが一定の場合においては車速が大きくなるほど時間tが長くなるように設定されている。
なお、連続障害物COの傾きg及び車速には検出誤差に基づく誤差が生じる。このため、ヨーレートマップは、傾きg及び車速が演算周期によって誤差の範囲内で変化しても、ヨーレートYが一定の値を維持するように作成されている。時間マップについても同様である。
第1装置は、回避経路rA(別言すれば、ヨーレートYと時間tの組み合わせ)を衝突回避ECU10のRAMに格納する。以下では、ヨーレートYと時間tの組み合わせを、単に「(Y,t)」とも称する。第1装置は、次の演算周期(以下、演算周期を単に「周期」とも称する。)においてもTTCが時間閾値Tth1以下の場合、前方障害物が連続障害物COであれば、上述したように連続障害物COの傾きgを算出し、傾きgと車速とに基づいてヨーレートYと時間tとを決定する。第1装置は、現在の周期における(Y,t)を、衝突回避ECU10のRAMに格納されている(Y,t)と比較し、同一であると判定した場合、回避経路rAに変更はないと判定する(即ち、RAMに格納されている(Y,t)を更新しない。)。一方、第1装置は、現在の周期における(Y,t)が衝突回避ECU10のRAMに格納されている(Y,t)と同一ではないと判定した場合、回避経路rAを新たに設定する(即ち、RAMに格納されている(Y,t)を現在の周期における(Y,t)に更新する。)。
続いて、前方障害物が非連続障害物NCOであると判定された場合の回避経路rBの設定方法について図5Bを参照して説明する。前方障害物が非連続障害物NCOであると判定された場合、非連続障害物NCOは自車線内に存在している可能性が高い。このため、第1装置は、非連続障害物NCOと白線WL(自車線を構成する右側の右白線RWLと左側の左白線LWL)との間を通過する経路が設定可能か否かを判定し、設定可能と判定した場合に当該経路を回避経路rBとして設定する。
具体的には、第1装置は、視差情報に基づいて、自車両の車幅方向の中心を基準としたときの非連続障害物NCOの右端の位置と、右白線の左端の位置と、を特定し、両者の差分から非連続障害物NCOと右白線との横距離である右側横距離DRを算出する。同様に、第1装置は、非連続障害物NCOの左端の位置と、左白線の右端の位置と、を特定し、両者の差分から非連続障害物NCOと左白線との左側横距離DLを算出する。右側横距離DRは正の値として、左側横距離DLは負の値として算出される。
第1装置は、右側横距離DRと、左側横距離DLの絶対値と、を比較し、大きい方の横距離の絶対値が、最小通過長さ以上であるか否かを判定する。ここで、最小通過長さは、「自車両の車幅長さW」に「所定の余裕幅(自車両が非連続障害物NCO及び白線WLとの間を余裕を持って通過するために最低限必要な幅)」を加算した長さとして定義される。大きい方の横距離の絶対値が最小通過長さ以上であると判定した場合、第1装置は、非連続障害物NCOと白線WLとの間を通過する回避経路rBが設定可能であると判定する。この場合、第1装置は、大きい方の横距離(以下、単に「横距離」とも称する。)に基づいて自車両が横方向に移動するべき距離である横移動距離LDを算出する。横移動距離LDは、横距離が正の場合(右側横距離DRの場合)、正の値として算出され、横距離が負の場合(左側横距離DLの場合)、負の値として算出される。そして、横移動距離LDと、車速と、に基づいて回避経路rBを設定する。一方、大きい方の横距離の絶対値が最小通過長さ未満であると判定された場合、第1装置は、非連続障害物NCOと白線WLとの間を通過する回避経路rBが設定不可能であると判定する。この場合、第1装置は、回避経路rBの設定を行わない(後述)。
前方障害物が非連続障害物NCOの場合、回避経路rBは、まず、非連続障害物NCOとの衝突を回避し、その後、白線WLから逸脱することがない(自車線内にとどまる)形状となるように設定される。このため、回避経路rBは、「非連続障害物NCOとの衝突を回避するための経路rB1」と、「白線からの逸脱を阻止するための経路rB2」とが滑らかに接続された経路となる。以下では、前者の経路を「第1回避経路rB1」と称し、後者の経路を「第2回避経路rB2」と称する。第1回避経路rB1は、TTCが時間閾値Tth3になると予想される地点PBから延び、第2回避経路rB2は、第1回避経路rB1の終了地点から延びる経路となる。
第1装置は、衝突回避ECU10のROMに、第1回避経路rB1用の横移動距離LD及び車速と、ヨーレートYと、の関係を規定するマップ及び横移動距離LD及び車速と、時間tと、の関係を規定するマップと、第2回避経路rB2用の横移動距離LD及び車速と、ヨーレートYと、の関係を規定するマップ及び横移動距離LD及び車速と、時間tと、の関係を規定するマップと、を予め格納している。
以下、第1回避経路rB1用のヨーレートYと第2回避経路rB2用のヨーレートYとを区別するために、前者を「第1ヨーレートY1」と称し、後者を「第2ヨーレートY2」と称する。加えて、第1回避経路rB1用の時間tと第2回避経路rB2用の時間tとを区別するために、前者を「第1時間t1」と称し、後者を「第2時間t2」と称する。更に、第1ヨーレートY1のマップ及び第2ヨーレートY2のマップを、それぞれ「第1ヨーレートマップ」及び「第2ヨーレートマップ」と称し、第1時間t1のマップ及び第2時間t2のマップを、それぞれ「第1時間マップ」及び「第2時間マップ」と称する。
第1ヨーレートマップは、自車両が非連続障害物NCOとの衝突を回避するために必要な第1ヨーレートY1の情報を含む。第1時間マップは、自車両が非連続障害物NCOとの衝突を回避するために、第1ヨーレートマップを参照して得られた第1ヨーレートY1で走行を継続すべき第1時間t1の情報を含む。第2ヨーレートマップは、非連続障害物NCOとの衝突回避後に自車両が白線から逸脱することを阻止するために必要な第2ヨーレートY2の情報を含む。第2時間マップは、自車両が白線から逸脱することを阻止するために、第2ヨーレートマップを参照して得られた第2ヨーレートY2で走行を継続すべき第2時間t2の情報を含む。なお、第1ヨーレートY1の値は、横移動距離LDが正のときは正であり、横移動距離LDが負のときは負に設定されている。一方、第2ヨーレートY2の値は、横移動距離LDが正のときは負であり、横移動距離LDが負のときは正に設定されている。
横移動距離LDと車速とを上記4種類のマップにそれぞれ適用することにより、第1ヨーレートY1と、当該第1ヨーレートY1で走行する第1時間t1と、第2ヨーレートY2と、当該第2ヨーレートY2で走行する第2時間t2と、が一義的に決定される。これにより、回避経路の形状が一義的に決定される。即ち、「回避経路rB(第1回避経路rB1及び第2回避経路rB2)を設定すること」は、「非連続障害物NCOと白線WLとの横距離に基づいて算出された横移動距離LD及び車速を上記4つのマップに適用して第1ヨーレートY1及び第1時間t1並びに第2ヨーレートY2及び第2時間t2を決定すること」と同義である。なお、ここでいう車速とは、「地点PB(回避経路rBの開始地点)において推定される車速」である。この車速は、自動制動制御(後述)を実行する時点まで現在の車速が維持されると仮定すると、「現在の車速」と「自動制動制御(後述)による目標減速度」とから推定され得る。以下では、当該車速を現在の車速と区別するために「推定車速」と称する。
第1、第2ヨーレートマップでは、何れも、車速が一定の場合においては横移動距離LDの絶対値が大きくなるほど第1及び第2ヨーレートY1、Y2の絶対値が大きくなり、横移動距離LDが一定の場合においては車速が大きくなるほど第1及び第2ヨーレートY1、Y2の絶対値が大きくなるように設定されている。
一方、第1、第2時間マップでは、何れも、車速が一定の場合においては横移動距離LDの絶対値が大きくなるほど第1及び第2時間t1、t2が長くなり、横移動距離LDが一定の場合においては車速が大きくなるほど第1及び第2時間t1、t2が長くなるように設定されている。
なお、横移動距離LD及び車速には検出誤差に基づく誤差が生じる。このため、第1、第2ヨーレートマップは、何れも、横移動距離LD及び車速が演算周期によって誤差の範囲内で変化しても、第1及び第2ヨーレートY1、Y2がそれぞれ一定の値を維持するように作成されている。第1、第2時間マップについても同様である。
第1装置は、回避経路rB(別言すれば、第1ヨーレートY1と第1時間t1の組み合わせと、第2ヨーレートY2と第2時間t2の組み合わせ)を衝突回避ECU10のRAMに格納する。以下では、前者の組み合わせを単に(Y1,t1)とも称し、後者の組み合わせを単に(Y2,t2)とも称する。第1装置は、次の演算周期においてもTTCが時間閾値Tth1以下の場合、前方障害物が非連続障害物NCOであれば、上述したように横移動距離LDを算出し、横移動距離LDと車速とに基づいて第1回避経路rB1用の第1ヨーレートY1及び第1時間t1と、第2回避経路rB2用の第2ヨーレートY2と第2時間t2とを決定する。第1装置は、現在の周期における(Y1,t1)及び(Y2,t2)を、衝突回避ECU10のRAMに格納されている(Y1,t1)及び(Y2,t2)とそれぞれ比較し、何れも同一であると判定した場合、回避経路rBに変更はないと判定する(即ち、RAMに格納されている(Y1,t1)及び(Y2,t2)を更新しない。)。一方、第1装置は、現在の周期における(Y1,t1)及び(Y2,t2)の少なくとも一方が衝突回避ECU10のRAMに格納されている(Y1,t1)及び(Y2,t2)と同一ではないと判定した場合、回避経路rBを新たに設定する(即ち、RAMに格納されている(Y1,t1)及び(Y2,t2)を現在の周期における(Y1,t1)及び(Y2,t2)に更新する。)。
<信頼度の算出>
第1装置は、回避経路rA又はrBが設定された場合、演算周期毎に当該回避経路rA又はrBの信頼度を算出する。ここで、信頼度とは、回避経路rA又はrBが安全な走行経路であるか否かを示す尺度である。信頼度の算出方法は回避経路rA又はrBの種類によらず同一であるため、以下では、図8を参照して、回避経路rAの信頼度の算出方法を具体的に説明する。なお、図8では、回避領域RAの近傍のグリッドマップ60のみを図示しており、連続障害物COの図示は省略している。
上述した方法で設定された回避経路rAをグリッドマップ60上に配置すると、回避経路rAは、点65(グリッドマップ60における地点PA(TTCが時間閾値Tth3になると予想される地点)に対応する点)から延びることになる。第1装置は、グリッドマップ60上において、回避経路rAを、点65から「半車幅長W/2に所定の第1距離α1を加算した長さW/2+α1」だけ車幅方向右側に平行移動した右側回避経路rARを設定するとともに、回避経路rAを、点65から「半車幅長W/2に所定の第2距離α2を加算した長さW/2+α2」だけ車幅方向左側に平行移動した左側回避経路rALを設定する。第1装置は、右側回避経路rARと左側回避経路rALの間の領域を回避領域RAとして設定する。即ち、回避領域RAは、自車両が回避経路rAに沿って走行したときに自車両が通過する領域を少なくとも含む領域である。なお、第1距離α1と第2距離α2は同一でもよいし、異なっていてもよい。
上述したように、グリッドマップ60の単位領域62は、異なるコストを有する4種類の領域(障害物領域、白線領域、不明領域及び安全領域)に分類されている。第1装置は、演算周期毎に、回避領域RA内に存在する全ての単位領域62のコストを積算し、その積算値を回避領域コストCAとして算出する。なお、単位領域62の一部のみが回避領域RA内に存在する場合、当該単位領域62は回避領域RA内に存在するとみなされる。
障害物領域、白線領域、不明領域及び安全領域のコストをそれぞれC1、C2、C3及びC4とし(C1>C2>C3>C4=0)、回避領域RA内に存在する障害物領域、白線領域、不明領域及び安全領域の個数をそれぞれn1、n2、n3及びn4とすると、回避領域コストCAは、CA=C1n1+C2n2+C3n3として算出される。図8Aの例では、回避領域RA内には、障害物領域が2個、白線領域が1個、不明領域が3個存在している。このため、回避領域コストCAは、CA=2C1+C2+3C3として算出される。即ち、回避領域コストCAは、自車両が回避経路rAに沿って回避領域RA内を走行した場合の危険度を示す尺度であり、回避領域コストCAが高いほど危険度が大きいことを示す。
回避経路rBの回避領域RBの回避領域コストCBについても、上記と同一の方法で算出され得る。
第1装置は、演算周期毎に、回避領域コストCA又はCBが所定のコスト閾値以上であるか否かを判定する。回避領域コストCA又はCBが所定のコスト閾値以上の場合、第1装置は、自車両が回避領域RA又はRB内を走行するのは危険である(別言すれば、回避経路rA又はrBは走行経路として安全ではない)と判定する。この場合、現在の周期における回避経路rA又はrBが、衝突回避ECU10のRAMに格納されている回避経路rA又はrBと同一であれば、第1装置は、直前の周期における信頼度から所定の値を減算した値を現在の周期における信頼度として算出する。なお、第1装置は、衝突回避ECU10のROMに、信頼度の初期値を予め格納している。このため、現在の周期が、ある前方障害物に対する回避経路rA又はrBを初めて設定した周期である初回周期であれば、第1装置は、回避領域コストCA又はCBが所定のコスト閾値以上の場合、信頼度の初期値から所定の値を減算した値を現在の周期における信頼度として算出する。
一方、回避領域コストCA又はCBが所定のコスト閾値未満の場合、第1装置は、自車両が回避領域RA又はRB内を走行するのは安全である(別言すれば、回避経路rA又はrBは走行経路として安全である)と判定する。この場合、現在の周期における回避経路rA又はrBがRAMに格納されている回避経路rA又はrBと同一であれば、第1装置は、直前の周期における信頼度に所定の値を加算した値を現在の周期における信頼度として算出する。加えて、現在の周期が初回周期であれば、第1装置は、回避領域コストCA又はCBが所定のコスト閾値未満の場合、信頼度の初期値に所定の値を加算した値を現在の周期における信頼度として算出する。
即ち、複数の周期を含むある期間に亘って回避経路rA又はrBが同一であり、且つ、回避領域コストCA又はCBがコスト閾値未満の状態が継続すれば、当該回避経路rA又はrBの信頼度は増加し続ける。一方、複数の周期を含むある期間に亘って回避経路rA又はrBが同一であり、且つ、回避領域コストCA又はCBがコスト閾値以上の状態が継続すれば、当該回避経路rA又はrBの信頼度は減少し続ける。
他方、現在の周期における回避経路rA又はrBが、RAMに格納されている回避経路rA又はrBと異なる場合、第1装置は、直前の演算周期における信頼度をリセットして初期値に設定し、新たな回避経路rA又はrBの信頼度の算出を開始する。
第1装置は、信頼度の算出を、TTCが減少して時間閾値Tth3に等しくなるまで行う。第1装置は、上述した方法で算出された信頼度を、衝突回避ECU10のRAMに格納する。RAMに格納される信頼度は、演算周期毎に更新される。
<自動制動制御>
第1装置は、TTCが時間閾値Tth1から減少して、時間閾値Tth3よりも大きい所定の時間閾値Tth2(Tth3<Tth2<Tth1)以下になった場合、自車両が前方障害物に衝突する可能性がやや高いと判定し、自車両に制動力を自動的に付与する自動制動制御を実行する。時間閾値Tth2は、「自動制動制御のみで前方障害物との衝突回避を理論上実現できること」と、「ドライバの運転操作(典型的には、操舵ハンドル操作)と干渉しないこと(別言すれば、ドライバが自動制動制御を不要作動だと感じないこと)」とを両立できる値に設定される。この値は、前方障害物に対する相対速度及び周囲環境等に応じて変化する値であり、相対速度及び周囲環境を表すパラメータにより演算周期毎に設定される。なお、時間閾値Tth2は、「第2時間閾値」の一例に相当する。
<自動操舵制御の実行有無判定>
自動制動制御を実行しても、路面状態及び/又は前方障害物が減速した等の要因によりTTCが時間閾値Tth2からさらに減少する場合がある。第1装置は、TTCが減少して時間閾値Tth3(<Tth2)になった場合、自車両が前方障害物に衝突する可能性が高いと判定し、上述した方法で設定された回避経路rA又はrBに沿って自車両が走行するように自車両の操舵輪の転舵角を自動的に変更する自動操舵制御を実行するか否かを判定する。上述したように、第1装置は、TTCが時間閾値Tth3に等しくなるまで、演算周期毎に回避経路rA又はrBの信頼度を算出し、その値を更新する。即ち、第1装置は、自動制動制御が開始されてからも、自動操舵制御を実行するか否かを判定するタイミング(TTC=Tth3)が到来するまで、回避経路の信頼度を算出(更新)する。
第1装置は、TTCが時間閾値Tth3になった場合、回避経路rA又はrBの信頼度が所定の信頼度閾値(回避経路rA又はrBが走行経路として安全であるか否かを決定する閾値)以上であるか否かを判定する。回避経路rA又はrBの信頼度が信頼度閾値以上であると判定された場合、第1装置は、当該回避経路rA又はrBは自車両の走行経路として安全であると判定する。しかしながら、第1装置は、回避経路rA又はrBが安全な走行経路であると判定された場合に、常に当該回避経路rA又はrBに沿うように自車両を自動操舵するわけではない。
第1装置は、TTC=Tth3である演算周期において、以下の3つの条件、即ち、
・回避経路rA又はrBの信頼度が所定の信頼度閾値以上である。
・自動制御制御が実行されている。
・自動制動制御の減速度と車速とに基づく制動距離が、前方障害物までの距離よりも長い(即ち、自動制動制御のみでは前方障害物との衝突を回避できない。)。
が全て成立した場合、自動操舵制御を実行するための特定条件が成立したと判定し、上述した方法で設定された回避経路rA又はrBに沿って自車両が走行するように自車両を自動操舵制御する。一方、第1装置は、3つの条件の少なくとも1つが成立しない場合、特定条件が成立しないと判定し自動操舵制御を実行しない。この場合、TTC≦Tth2が成立した時点で開始された自動制動制御が引き続き実行される。
上記の特定条件から明らかなように、自動操舵制御は、自動制動制御とともに実行される。加えて、自動操舵制御は、自動制動制御のみでは前方障害物との衝突を回避できないと判定された場合に実行される。別言すれば、自動制動制御のみで衝突回避できると判定された場合は、たとえ回避経路rA又はrBの信頼度が信頼度閾値以上であったとしても当該回避経路rA又はrBに沿った自動操舵制御は実行されない。更に、自動制動制御のみでは衝突回避できないと判定された場合であっても、回避経路rA又はrBの信頼度が信頼度閾値未満であれば、当該回避経路rA又はrBに沿った自動操舵制御は実行されない。なお、信頼度の初期値は、信頼度閾値よりも低く設定される。このため、前方障害物が非連続障害物の場合において横距離が最小通過長さ未満であるために回避経路rA又はrBが設定不可能と判定されたときは、信頼度が算出されない(初期値に維持される)ので特定条件が成立せず、従って、自動操舵制御は実行されない。
(第1装置の制御フロー)
次に、第1装置の制御フローについて説明する。第1装置の衝突回避ECU10(以下、単に「ECU10」とも称する。)のCPUは、エンジンオン期間中、図9A乃至図11Bにフローチャートにより示したルーチンを演算時間の経過毎に実行するようになっている。
CPUは、所定のタイミングになると、図9Aのステップ900から処理を開始して以下のステップ902乃至ステップ908の処理を順に行う。
ステップ902:CPUは、カメラセンサ11から左画像信号及び右画像信号を受信する。即ち、左画像及び右画像を含む撮像画像を取得し、ECU10のRAMに格納する。
ステップ904:CPUは、車両状態センサ12から車両状態情報(車速、前後方向及び左右方向加速度、ヨーレート及び転舵角等)を取得し、ECU10のRAMに格納する。
ステップ906:CPUは、ステップ902で取得した撮像画像から視差画像を生成し、ECU10のRAMに格納する。
ステップ908:CPUは、上述したようにして、ECU10のRAMに格納されているグリッドマップ60の単位領域62を、4種類の領域(障害物領域、白線領域、不明領域及び安全領域)の何れかの領域として特定し、ECU10のRAMに格納する。
次いで、CPUは、ステップ910に進んで、ステップ908で作成されたグリッドマップ60を参照して、上述したようにして自車両の進行方向前方に障害物が存在するか否かを判定する。障害物が存在しないと判定した場合、CPUは、ステップ910にて「No」と判定し(即ち、衝突回避の対象になり得る障害物が存在しないと判定し)、図9Bのステップ942に進み、本ルーチンを一旦終了する。
一方、障害物が存在すると判定した場合、CPUは、ステップ910にて「Yes」と判定し(即ち、衝突回避の対象になり得る障害物が存在すると判定し)、以下のステップ912に進む。
ステップ912では、CPUは、ステップ910で自車両の進行方向前方に存在すると判定された障害物までのTTCを算出し、当該TTCが、時間閾値Tth0以下であるか否かを判定する。なお、時間閾値Tth0は、注意喚起を行うか否かを決定する閾値である。TTC≦Tth0が成立しない(即ち、TTC>Tth0)と判定した場合、CPUは、ステップ912にて「No」と判定し(即ち、前方障害物と衝突する可能性は極めて低く、注意喚起を行うタイミングはまだ到来していないと判定し)、図9Bのステップ942に進み、本ルーチンを一旦終了する。
一方、TTC≦Tth0が成立すると判定した場合、CPUは、ステップ912にて「Yes」と判定し(即ち、前方障害物と衝突する可能性があると判定し)、以下のステップ914に進む。
ステップ914では、CPUは、前方障害物までのTTCが時間閾値Tth1以下であるか否かを判定する。なお、時間閾値Tth1は、回避経路rA又はrBの設定を開始するか否かを決定する閾値である。TTC≦Tth1が成立しない(即ち、TTC>Tth1)と判定した場合、CPUは、ステップ914にて「No」と判定し(即ち、回避経路rA又はrBの設定を開始するタイミングはまだ到来していないと判定し)、以下のステップ916の処理を行う。
ステップ916:CPUは、前方障害物に対する注意喚起要求信号を発生し、当該信号を警報ECU50に送信する。これにより、ブザー51によってドライバへの注意喚起が行われる。即ち、ステップ916の処理は、TTCがTth1<TTC≦Tth0を満たす場合に行われる。
これに対し、ステップ914にてTTC≦Tth1が成立すると判定した場合、CPUは、ステップ914にて「Yes」と判定し(即ち、回避経路rA又はrBの設定を開始するタイミングが到来したと判定し)、以下のステップ922に進む。
ステップ922では、CPUは、回避経路rA又はrBの設定を開始する。回避経路rA又はrBを設定するに際し、CPUは、前方障害物が連続性を有するか否かを判定する。具体的には、CPUは、グリッドマップ60において、前方障害物が存在する障害物領域を含む連結領域80を線形近似して線分82を算出する。そして、線分82の長さが長さ閾値以上であるか否かを判定する。長さ閾値以上であると判定した場合、CPUは、前方障害物が連続性を有する連続障害物COであると判定し、ステップ922にて「Yes」と判定し、以下のステップ924に進む。
図9Aのルーチンでは、CPUは、ステップ924において、図10にフローチャートにより示したルーチンを実行するようになっている。CPUは、ステップ924に進むと、図10のステップ1000から処理を開始し、以下に述べるステップ1002及びステップ1004の処理を順に行う。
ステップ1002:CPUは、ステップ922にて算出された、「連結領域80を線形近似して得られた線分82」の傾きgを算出し、ECU10のRAMに格納する。
ステップ1004:CPUは、ECU10のROMに予め格納されているヨーレートマップ及び時間マップのそれぞれに、ステップ1002にて算出された傾きgと、図9Aのステップ904にて取得された車速及び目標減速度に基づいて算出された推定車速と、を適用して、ヨーレートYと時間tを決定する。
次いで、CPUは、ステップ1006に進み、現在の演算周期(以下、単に「周期」とも称する。)が初回周期であるか否かを判定する。ここで、初回周期とは、ある前方障害物に対する回避経路rA又はrBが初めて設定された周期である。別言すれば、ある前方障害物までのTTCについて、TTC≦Tth1が初めて成立したと判定された周期である。現在の周期が初回周期であると判定した場合、CPUは、ステップ1006にて「Yes」と判定し(即ち、回避経路rAはステップ1004にて決定された(Y,t)に基づいて設定されると判定し)、以下のステップ1008及びステップ1010の処理を行う。
ステップ1008:CPUは、現在の周期におけるステップ1004にて決定された(Y,t)に基づいて、上述したようにしてグリッドマップ60上で回避領域RAを設定する。CPUは、当該(Y,t)及び回避領域RAの形状をECU10のRAMに格納する。
ステップ1010:CPUは、ステップ1008にて設定された回避領域RAについて、上述したようにして回避領域コストCAを算出し、ECU10のRAMに格納する。
次いで、CPUは、ステップ1012に進んで、ステップ1010にて算出された回避領域コストCAがコスト閾値以上であるか否かを判定する。回避領域コストCAがコスト閾値以上であると判定した場合、CPUは、ステップ1012にて「Yes」と判定し(即ち、自車両が回避領域RA内を走行するのは危険であると判定し)、以下のステップ1014の処理を行う。
ステップ1014:CPUは、現在の周期における回避経路rAの信頼度を算出する。具体的には、CPUは、当該信頼度を、予めECU10のROMに格納されている初期値から所定値を減算した値として算出する。CPUは、当該信頼度をECU10のRAMに格納し、その後、ステップ1030を経由して、図9Aのステップ928(後述)に進む。
一方、ステップ1012にて回避領域コストCAがコスト閾値未満であると判定した場合、CPUは、ステップ1012にて「No」と判定し(即ち、自車両が回避領域RA内を走行するのは安全であると判定し)、以下のステップ1016の処理を行う。
ステップ1016:CPUは、現在の周期における回避経路rAの信頼度を算出する。具体的には、CPUは、当該信頼度を、予めECU10のROMに格納されている初期値に所定値を加算した値として算出する。CPUは、当該信頼度をECU10のRAMに格納し、その後、ステップ1030を経由して、図9Aのステップ928(後述)に進む。
これに対し、ステップ1006にて現在の周期が初回周期ではないと判定した場合、CPUは、ステップ1006にて「No」と判定し、以下のステップ1018に進む。
ステップ1018では、CPUは、現在の周期におけるステップ1004にて決定された(Y,t)が、RAMに格納されている(Y,t)と同一であるか否かを判定する。同一であると判定した場合、CPUは、ステップ1018にて「Yes」と判定し(即ち、回避経路rA及び回避領域RAは、直前の周期から変更しないと判定し)、RAMに格納されている(Y,t)を変更しない。その後、CPUは、以下のステップ1020の処理を行う。
ステップ1020:CPUは、ECU10のRAMに格納されている回避領域RA(即ち、以前の周期においてステップ1008にて設定された回避領域RA)について、上述したようにして回避領域コストCAを算出し、ECU10のRAMに格納する。なお、回避領域コストCAの算出は、現在の周期におけるステップ908(図9A参照)にて作成されたグリッドマップ60上で行われる。
次いで、CPUは、ステップ1022に進んで、ステップ1020にて算出された回避領域コストCAがコスト閾値以上であるか否かを判定する。回避領域コストCAがコスト閾値以上であると判定した場合、CPUは、ステップ1022にて「Yes」と判定し(即ち、自車両が回避領域RA内を走行するのは危険であると判定し)、以下のステップ1024の処理を行う。
ステップ1024:CPUは、現在の周期における回避経路rAの信頼度を算出する。具体的には、CPUは、当該信頼度を、直前の周期における信頼度から所定値を減算した値として算出する。なお、当該信頼度は、ECU10のRAMに格納されている。CPUは、当該信頼度をECU10のRAMに格納し、その後、ステップ1030を経由して、図9Aのステップ928(後述)に進む。
一方、ステップ1022にて回避領域コストCAがコスト閾値未満であると判定した場合、CPUは、ステップ1022にて「No」と判定し(即ち、自車両が回避領域RA内を走行するのは安全であると判定し)、以下のステップ1026の処理を行う。
ステップ1026:CPUは、現在の周期における回避経路rAの信頼度を算出する。具体的には、CPUは、当該信頼度を、直前の周期における信頼度に所定値を加算した値として算出する。CPUは、当該信頼度をECU10のRAMに格納し、その後、ステップ1030を経由して、図9Aのステップ928(後述)に進む。
これに対し、ステップ1018にて、現在の周期におけるステップ1004にて決定された(Y,t)が、RAMに格納されている(Y,t)と同一ではないと判定した場合、CPUは、ステップ1018にて「No」と判定し(即ち、回避経路rAが直前の周期から変更されたと判定し)、以下のステップ1028の処理を行う。
ステップ1028:CPUは、RAMに格納されている信頼度(即ち、直前の周期において算出された信頼度)をリセットして初期値に戻す。その後、CPUは、上記のステップ1008以降の処理を実行する。なお、ステップ1028を経た後でステップ1008の処理を行う場合、CPUは、RAMに格納されている(Y,t)を、現在の周期におけるステップ1004にて決定された(Y,t)に更新する。
これに対し、図9Aのステップ922において、連結領域80を線形近似して得られた線分82の長さが長さ閾値未満であると判定した場合、CPUは、前方障害物が連続性を有さない非連続障害物NCOであると判定し、ステップ922にて「No」と判定し、以下のステップ926に進む。
図9Aのルーチンでは、CPUは、ステップ926において、図11A及び図11Bにフローチャートにより示したルーチンを実行するようになっている。CPUは、ステップ926に進むと、図11Aのステップ1100から処理を開始し、以下に述べるステップ1102の処理を行う。
ステップ1102:CPUは、上述したようにして、前方障害物(の右端)と右白線RWL(の左端)との横距離である右側横距離DR(正の値)と、前方障害物(の左端)と左白線LWL(の右端)との横距離である左側横距離DL(負の値)とを算出し、ECU10のRAMに格納する。
次いで、CPUは、ステップ1104に進み、右側横距離DRと、左側横距離DLの絶対値と、を比較し、大きい方の値が最小通過長さ以上であるか否かを判定する。大きい方の値が最小通過長さ未満であると判定した場合、CPUは、ステップ1104にて「No」と判定し(即ち、前方障害物と白線WLとの間を通過する回避経路rBは設定不可能であると判定し)、図9Aのステップ928に進む(後述)。
一方、大きい方の値が最小通過長さ以上であると判定した場合、CPUは、ステップ1104にて「Yes」と判定し(即ち、前方障害物と白線WLとの間を通過する回避経路rBが設定可能であると判定し)、以下のステップ1106及びステップ1108の処理を行う。
ステップ1106:CPUは、大きい方の横距離に基づいて、上述したようにして自車両の横移動距離LDを算出し、ECU10のRAMに格納する。
ステップ1108:CPUは、ECU10のROMに予め格納されている第1及び第2ヨーレートマップ並びに第1及び第2時間マップのそれぞれに、ステップ1106にて算出された横移動距離LDと、図9Aのステップ904にて取得された車速及び目標減速度に基づいて算出された推定車速と、を適用して、第1ヨーレートY1、第1時間t1、第2ヨーレートY2及び第2時間t2を決定する。
次いで、CPUは、ステップ1110に進み、現在の周期が初回周期であるか否かを判定する。現在の周期が初回周期であると判定した場合、CPUは、ステップ1110にて「Yes」と判定し、以下のステップ1112及びステップ1114(図11B参照)の処理を行う。
ステップ1112:CPUは、現在の周期におけるステップ1108にて決定された(Y1,t1)及び(Y2,t2)に基づいて、上述したようにしてグリッドマップ上で回避領域RBを設定する。CPUは、当該(Y1,t1)及び(Y2,t2)と、回避領域RBの形状と、をECU10のRAMに格納する。
ステップ1114:CPUは、ステップ1112にて設定された回避領域RBについて、上述したようにして回避領域コストCBを算出し、ECU10のRAMに格納する。
次いで、CPUは、ステップ1116に進んで、ステップ1114にて算出された回避領域コストCBがコスト閾値以上であるか否かを判定する。回避領域コストCBがコスト閾値以上であると判定した場合、CPUは、ステップ1116にて「Yes」と判定し(即ち、自車両が回避領域RB内を走行するのは危険であると判定し)、以下のステップ1118の処理を行う。
ステップ1118:CPUは、図10のステップ1014と同一の処理を行って、現在の周期における回避経路rBの信頼度を算出する。その後、CPUは、ステップ1134を経由して、図9Aのステップ928(後述)に進む。
一方、ステップ1116にて回避領域コストCBがコスト閾値未満であると判定した場合、CPUは、ステップ1116にて「No」と判定し(即ち、自車両が回避領域RB内を走行するのは安全であると判定し)、以下のステップ1120の処理を行う。
ステップ1120:CPUは、図10のステップ1016と同一の処理を行って、現在の周期における回避経路rBの信頼度を算出する。その後、CPUは、ステップ1134を経由して、図9Aのステップ928(後述)に進む。
これに対し、ステップ1110(図11A参照)にて現在の周期が初回周期ではないと判定した場合、CPUは、ステップ1110にて「No」と判定し、以下のステップ1122に進む。
ステップ1122では、CPUは、現在の周期におけるステップ1108にて決定された(Y1,t1)及び(Y2,t2)が、RAMに格納されている(Y1,t1)及び(Y2,t2)と同一であるか否かを判定する。同一であると判定した場合、CPUは、ステップ1122にて「Yes」と判定し(即ち、回避経路rB及び回避領域RBは、直前の周期から変更しないと判定し)、RAMに格納されている(Y1,t1)及び(Y2,t2)を変更しない。その後、CPUは、以下のステップ1124(図11B参照)の処理を行う。
ステップ1124:CPUは、ECU10のRAMに格納されている回避領域RB(即ち、以前の周期においてステップ1112にて設定された回避領域RB)について、上述したようにして回避領域コストCBを算出し、ECU10のRAMに格納する。なお、回避領域コストCBの算出は、現在の周期におけるステップ908(図9A参照)にて作成されたグリッドマップ60上で行われる。
次いで、CPUは、ステップ1126に進んで、ステップ1124にて算出された回避領域コストCBがコスト閾値以上であるか否かを判定する。回避領域コストCBがコスト閾値以上であると判定した場合、CPUは、ステップ1126にて「Yes」と判定し(即ち、自車両が回避領域RB内を走行するのは危険であると判定し)、以下のステップ1128の処理を行う。
ステップ1128:CPUは、図10のステップ1024と同一の処理を行って、現在の周期における回避経路rBの信頼度を算出する。その後、CPUは、ステップ1134を経由して、図9Aのステップ928(後述)に進む。
一方、ステップ1126にて回避領域コストCBがコスト閾値未満であると判定した場合、CPUは、ステップ1126にて「No」と判定し(即ち、自車両が回避領域RB内を走行するのは安全であると判定し)、以下のステップ1130の処理を行う。
ステップ1130:CPUは、図10のステップ1026と同一の処理を行って、現在の周期における回避経路rBの信頼度を算出する。その後、CPUは、ステップ1134を経由して、図9Aのステップ928(後述)に進む。
これに対し、ステップ1122(図11A参照)にて、現在の周期におけるステップ1108にて決定された(Y1,t1)及び(Y2,t2)が、RAMに格納されている(Y1,t1)及び(Y2,t2)と同一ではないと判定した場合、CPUは、ステップ1122にて「No」と判定し(即ち、回避経路rBが直前の周期から変更されたと判定し)、以下のステップ1132の処理を行う。
ステップ1132:CPUは、RAMに格納されている信頼度(即ち、直前の周期において算出された信頼度)をリセットして初期値に戻す。その後、CPUは、上記のステップ1112以降の処理を実行する。なお、ステップ1132を経た後でステップ1112の処理を行う場合、CPUは、RAMに格納されている(Y1,t1)及び(Y2,t2)を、現在の周期におけるステップ1108にて決定された(Y1,t1)及び(Y2,t2)に更新する。
図10のステップ1014、ステップ1016、ステップ1024及びステップ1026の処理を終了した場合、図11Bのステップ1118、ステップ1120、ステップ1128及びステップ1130の処理を終了した場合、又は、図11Aのステップ1104にて「No」と判定した場合、CPUは、図9Aのステップ928に進む。
ステップ928では、CPUは、前方障害物までのTTCが時間閾値Tth2以下であるか否かを判定する。なお、時間閾値Tth2は、自動制動制御を開始するか否かを決定する閾値である。TTC≦Tth2が成立しない(即ち、TTC>Tth2)と判定した場合、CPUは、ステップ928にて「No」と判定し(即ち、自動制動制御を開始するタイミングはまだ到来していないと判定し)、図9Bのステップ942に進み、本ルーチンを一旦終了する。
一方、TTC≦Tth2が成立すると判定した場合、CPUは、ステップ928にて「Yes」と判定し(即ち、自動制動制御を開始するタイミングが到来したと判定し)、以下のステップ930の処理を行う。
ステップ930:CPUは、ステップ904にて取得した車両状態情報に基づいて、前方障害物との衝突を回避するために必要な自動制動制御量を算出し、当該制御量を表す信号を含む自動制動要求信号を発生し、当該信号をブレーキECU20に送信する。これにより、ブレーキアクチュエータ22が駆動されて自車両の加速度が調整される。即ち、自動制動制御が実行される。その後、CPUは、図9Bのステップ932に進む。
ステップ932では、CPUは、前方障害物までのTTCが時間閾値Tth3に等しいか否かを判定する。なお、時間閾値Tth3は、自動操舵制御を実行するか否かを判定するタイミングが到来したか否かを決定する閾値である。TTC=Tth3が成立しない(即ち、TTC>Tth3)と判定した場合、CPUは、ステップ932にて「No」と判定し(即ち、自動操舵制御を実行するか否かを判定するタイミングはまだ到来していないと判定し)、図9Bのステップ942に進み、本ルーチンを一旦終了する。
一方、TTC=Tth3が成立すると判定した場合、CPUは、ステップ932にて「Yes」と判定し(自動操舵制御を実行するか否かを判定するタイミングが到来したと判定し)、以下のステップ934に進む。
ステップ934では、CPUは、以下の3つの条件、即ち、
・現在の周期において算出された回避経路rA又はrBの信頼度が所定の信頼度閾値以上である。
・ステップ930の処理により実行が開始された自動制御制御が継続されている。
・自動制動制御の減速度と車速とに基づく制動距離が、前方障害物までの距離よりも長い。
が全て成立するという特定条件が成立するか否かを判定する。特定条件が成立すると判定した場合、CPUは、ステップ934にて「Yes」と判定し(即ち、自動操舵制御を実行するために必要な条件が満たされたと判定して)、以下のステップ936の処理を行う。
ステップ936:CPUは、前方障害物が連続障害物COの場合は、RAMに格納されている(Y,t)により設定される回避経路rAに沿って、一方、前方障害物が非連続障害物NCOの場合は、RAMに格納されている(Y1,t1)及び(Y2,t2)により設定される回避経路rBに沿って、自車両が走行するために必要な自動操舵制御量を算出する。CPUは、当該制御量を表す信号を含む自動操舵要求信号を発生し、当該信号をステアリングECU40に送信する。これにより、モータドライバ41が制御されて転舵用モータ42にトルクが発生させられることにより、操舵アシストトルクが加えられたり、左右の操舵輪が転舵されたりする。即ち、自動操舵制御が実行される。その後、CPUは、後述するステップ940の処理を行う。
一方、ステップ934において、特定条件が成立しないと判定した場合、CPUは、ステップ934にて「No」と判定し(即ち、自動操舵制御を実行するために必要な条件が満たされていないと判定して)、以下のステップ938の処理を行う。
ステップ938:CPUは、自動操舵制御量を算出しない。このため、自動操舵制御は実行されない。その後、CPUは、以下のステップ940の処理を行う。
ステップ940:CPUは、ECU10のRAMに格納されているグリッドマップ60及び信頼度をリセットする。加えて、CPUは、ECU10のRAMに格納されている(Y,t)又は(Y1,t1)及び(Y2,t2)と、回避領域RA又はRBの形状と、回避領域コストCA又はCBと、を消去する。その後、CPUは、ステップ942に進み、本ルーチンを一旦終了する。
第1装置の作用効果について説明する。第1装置によれば、グリッドマップ60の各単位領域62は、障害物領域であるか否かが特定されるだけではなく、不明領域であるか否かも特定される。ここで、不明領域とは、自車両が安全に走行できる領域であるか不明である領域であり、典型的には、窪みや傾斜面が形成された領域を表す。このため、回避領域コストCA又はCBは、回避領域RA又はRB内に存在する障害物領域の個数n1及びコストC1(即ち、両者の積)だけではなく、回避領域RA又はRB内に存在する不明領域の個数n3及びコストC3(即ち、両者の積)にも基づいて算出される。そして、信頼度は、回避領域コストCA又はCBがコスト閾値以上の場合、直前の演算周期の信頼度から所定値だけ減算した値として算出され、回避領域コストCA又はCBがコスト閾値未満の場合、直前の演算周期の信頼度に所定値だけ加算した値として算出される。
この構成によれば、回避経路rA又はrBの信頼度には、障害物領域の個数及びコストだけではなく、不明領域の個数及びコストも反映される。加えて、障害物領域のコストC1は、不明領域のコストC3よりも高く設定される。障害物領域は、不明領域よりも、車両の走行経路としての危険度が高い。このため、回避経路rA又はrBの信頼度に不明領域の個数及びコストも反映させ、さらに、障害物領域と不明領域のコストの大小関係をC1>C3と設定することにより、回避領域rA又はrBの危険度をより正確に反映した回避領域コストCA又はCBを算出することができる。即ち、回避経路rA又はrBの安全度をより正確に反映した信頼度を算出することができる。結果として、回避経路rA又はrBが安全な走行経路であるか否かを精度よく判定することができる。
特に、第1装置では、グリッドマップ60の各単位領域62は、障害物領域又は不明領域であるか否かが特定されるだけではなく、白線領域又は安全領域であるか否かも特定される。このため、回避領域コストCA又はCBは、回避領域rA又はrBの危険度を一層正確に反映した値として算出され、信頼度は、回避経路rA又はrBの安全度を一層正確に反映した値として算出される。結果として、回避経路rA又はrBが安全な走行経路であるか否かをより精度よく判定することができる。
一般に、障害物はレーダーセンサやカメラセンサ等を用いて検出されるが、天候条件や環境条件によっては障害物の存在有無が誤って判定される可能性がある。即ち、障害物が存在しているにも関わらず存在していないと判定されたり、障害物が存在していないにも関わらず存在していると判定されたりする可能性がある。このため、障害物の存在有無を演算周期毎に判定する構成では、障害物の存在有無を誤判定してしまう可能性がある。この結果、実際には回避経路上に障害物が存在するにも関わらず、ある演算周期において障害物が存在していないと判定された場合、当該回避経路は安全な走行経路であると判定され、判定精度が低下する可能性がある。これに対し、第1装置によれば、信頼度はTTCが時間閾値Tth1から時間閾値Tth3になるまでの期間において、演算周期毎に算出された回避領域コストCA又はCBに基づいて算出(更新)されるため、仮に、当該期間のある演算周期において障害物の存在有無が誤判定されたとしても、誤判定が信頼度の精度に及ぼす影響を低減することができる。このため、回避経路rA又はrBが安全な走行経路であるか否かを更に精度よく判定することができる。
(変形例)
次に、本発明の第1実施形態の変形例に係る衝突回避制御装置(以下、第1変形装置とも称する。)について説明する。第1変形装置は、前方障害物が連続障害物CO又は非連続障害物NCOの何れの場合も、回避経路を演算周期毎に複数設定する点で第1装置と異なっている。
まず、前方障害物が連続障害物COの場合について説明する。第1実施形態において設定された回避経路rA(即ち、(Y,t)の組み合わせを有する経路)を基準回避経路rAと称すると、基準回避経路rAから近い順に数えたときのk番目(kは0以上の整数)の回避経路rA_kは、基準回避経路rAのヨーレートYが正のときは、(Y+ΔY・k,t)の組み合わせを有する経路として設定され、基準回避経路rAのヨーレートYが負のときは、(Y−ΔY・k,t)の組み合わせを有する経路として設定される。ここで、ΔYは、予め設定された正のヨーレートである。即ち、これら複数の回避経路rAは、基準回避経路rAのヨーレートYが正のときは、ヨーレートYに所定のヨーレートΔYを順次加算することにより設定され、一方、基準回避経路rAのヨーレートYが負のときは、ヨーレートYに所定のヨーレートΔYを順次減算することにより設定される。
第1変形装置は、各回避経路rA_k(即ち、ヨーレートと時間の各組み合わせ)に互いを識別するためのIDを付与し、各回避経路rA_k及び各信頼度を、IDと関連付けて衝突回避ECU10のRAMに格納する。第1変形装置は、次の演算周期において上述した方法で複数の回避経路rA_kを設定した場合、各回避経路rA_kのヨーレートを、RAMに格納されている各回避経路rA_kのヨーレートと比較する。そして、ヨーレートの値が同一であると判定した場合、第1変形装置は、当該回避経路rA_kに変更はないと判定し、直前の周期における回避経路rA_kのIDを次の周期において引き継ぐ。即ち、直前の周期において算出された信頼度に基づいて次の周期における信頼度を算出する。一方、ヨーレートの値が異なると判定した場合、第1変形装置は、回避経路rA_kは変更されたと判定し、直前の周期における回避経路rA_kのIDをリセットして、新たなIDが付与された回避経路rA_kを設定する。即ち、直前の周期において算出された信頼度をリセットし、初期値に基づいて次の周期における信頼度を算出する。第1変形装置は、TTC=Tth3になった時点で、最も高い信頼度を有する回避経路rA_kについて、特定条件が成立するか否かを判定し、成立すると判定した場合、当該回避経路rA_kに沿って自動操舵制御を実行する。
次に、前方障害物が非連続障害物NCOの場合について説明する。第1実施形態において設定された回避経路rB(即ち、(Y1,t1)及び(Y2,t2)の組み合わせを有する経路)を基準回避経路rBと称すると、基準回避経路rBから近い順に数えたときのk番目(kは0以上の整数)の回避経路rB_kは、基準回避経路rBの横移動距離LDが正のときは、(LD+ΔLD・k,t)の組み合わせを有する経路として設定され、基準回避経路rBの横移動距離LDが負のときは、(LD−ΔLD・k,t)の組み合わせを有する経路として設定される。ここで、ΔLDは、予め設定された正の横移動距離である。即ち、これら複数の回避経路rBは、基準回避経路rBの横移動距離LDが正のときは、横移動距離LDに所定の横移動距離ΔLDを順次加算することにより設定され、一方、基準回避経路rBの横移動距離LDが負のときは、横移動距離LDに所定の横移動距離ΔLDを順次減算することにより設定される。なお、kの範囲は、「LD+ΔLD・k」及び「LD−ΔLD・k」が、自車両が白線を乗り越えることがないように設定される。
第1変形装置は、各回避経路rB_kに対しても、互いを識別するためのIDを付与する。次の演算周期において直前の周期の回避経路rB_kを引き継ぐか否かを判定する方法は、前方障害物が連続障害物COの場合と同一であるため、その説明は省略する。
この構成によっても、第1装置と同様の作用効果を奏することができる。加えて、第1変形装置の構成によれば、複数の回避経路rA又はrBを設定し、その中で最も高い信頼度を有する回避経路について特定条件の成立可否を判定する。このため、1つの回避経路rA又はrBしか設定しない構成と比較して、回避経路rA又はrBの安全度がさらに高くなり、自度操舵制御の信頼性をさらに向上することができる。
(第2実施形態)
続いて、本発明の第2実施形態に係る衝突回避制御装置(以下、「第2装置」とも称する。)について説明する。第2装置は、回避経路rA又はrBが走行経路として安全であるか否かを判定する方法が第1装置と異なっている。この方法は、回避経路rA又はrBの種類によらず同一であるため、以下では、図12を参照して、回避経路rAが走行経路として安全であるか否かを判定する方法について説明する。
図12は、前方障害物が連続障害物CO(図12では連結領域80として示す。)の場合においてグリッドマップ160上に設定された回避経路rA及び回避領域RAを表す。図12では、回避領域RAの近傍のグリッドマップ160のみを図示している。グリッドマップ160の単位領域162は、障害物領域、不明領域及び安全領域の3つの領域の何れかとして特定される。即ち、第2装置では、単位領域162は白線領域として特定されることはない。単位領域162の種類は、視差情報及び画素情報に基づいて特定される。しかしながら、これらの情報にはノイズが含まれる場合があり、ノイズに起因して領域の種類が誤って特定される場合がある。自車両から離間した位置の視差情報及び画素情報ほどノイズが含まれる可能性が高くなるため、自車両から離間するにつれて単位領域162の種類が誤って特定される確率が高くなる。別言すれば、単位領域162の種類別のコストの信頼性は、自車両から離間するにつれて低くなる。
このため、第2装置では、グリッドマップ160を、回避経路rAの始点である点165から、所定の距離毎に複数の区画(図12の例では、D1、D2及びD3の3つの区画)に区切り、区画毎にコストの値を変更している。具体的には、障害物領域のコストC1の値は、自車両に近接した区画ほど高くなるように設定されている。即ち、区画D1、D2及びD3における障害物領域のコストC1を、それぞれC11、C12及びC13と規定すると、これらの大小関係は、C11>C12>C13と表される。同様に、不明領域のコストC3の値も、自車両に近接した区画ほど高くなるように設定されている。区画D1、D2及びD3における不明領域のコストC3を、それぞれC31、C32及びC33と規定すると、これらの大小関係は、C31>C32>C33と表される。
加えて、同一区画内では、障害物領域のほうが不明領域よりも走行経路としての危険度が高いため、障害物領域のコストC1のほうが不明領域のコストC3よりも高く設定されている。即ち、C11>C31、C12>C32及びC13>C33が成立する。別言すれば、自車両から障害物領域までの距離と自車両から不明領域までの距離が略同一の場合、障害物領域のコストC1は不明領域のコストC3よりも高く設定されている。なお、安全領域のコストC4は、区画によらず0である。
第2装置は、後述する6つのコスト(第1コスト乃至第6コスト)を算出し、それぞれのコストが予め設定されたコスト閾値(第1コスト閾値乃至第6コスト閾値)未満の場合に、回避経路rAが走行経路として安全であると判定し、第1コスト乃至第6コストの少なくとも1つがコスト閾値以上の場合、回避経路rAが走行経路として安全ではないと判定する。以下、各コストについて具体的に説明する。
(第1コストCC1)
第2装置は、障害物領域の有無を区画毎に判定する。第2装置は、ある区画内に障害物領域が1個以上存在すると判定した場合、当該区画内に障害物領域が存在すると判定し、ある区画内に障害物領域が1個も存在しないと判定した場合、当該区画内に障害物領域が存在しないと判定する。第2装置は、障害物領域が存在すると判定された区画を抽出し、それぞれの区画のコストを、区画内の障害物領域の個数に関わらず、それぞれの区画の1個当たりの障害物領域のコストとして算出する。そして、抽出された区画のそれぞれのコストを合算した値を、回避領域RAの第1コストCC1として算出する。
図12の例では、区画D1、D2、D3における障害物領域の個数は、それぞれ0個、2個、1個である。このため、第2装置は、区画D2及び区画D3の1個当たりの障害物領域のコストC12及びC13を合算した値を、回避領域RAの第1コストCC1として算出する(CC1=C12+C13)。
(第2コストCn1)
第2装置は、回避領域RA内の障害物領域の個数を区画毎に算出し、区画D1、D2及びD3のそれぞれの障害物領域の個数を、回避領域RAの区画D1の第2コストCn11、区画D2の第2コストCn12及び区画D3の第2コストCn13として算出する。即ち、第2コストCn1は、区画の数と等しい数だけ算出される。図12の例では、第2コストCn11=0、第2コストCn12=2、第2コストCn13=1である。
(第3コストCn1total)
第2装置は、区画毎の第2コストCn1を合算したコストを、回避領域RAの第3コストCn1totalとして算出する。図12の例では、第3コストCn1totalは、0+2+1=3である。
(第4コストCC3)
第2装置は、不明領域の有無を区画毎に判定する。第2装置は、ある区画内に不明領域が1個以上存在すると判定した場合、当該区画内に不明領域が存在すると判定し、ある区画内に不明領域が1個も存在しないと判定した場合、当該区画内に不明領域が存在しないと判定する。第2装置は、不明領域が存在すると判定された区画を抽出し、それぞれの区画のコストを、区画内の不明領域の個数に関わらず、それぞれの区画の1個当たりの不明領域のコストとして算出する。そして、抽出された区画のそれぞれのコストを合算した値を、回避領域RAの第4コストCC3として算出する。図12の例では、区画D1、D2、D3における不明領域の個数は、それぞれ2個、2個、0個である。このため、第2装置は、区画D1及び区画D2の1個当たりの不明領域のコストC31及びC32を合算したコストを、回避領域RAの第1コストCC3として算出する(CC3=C31+C32)。
(第5コストCn3)
第2装置は、回避領域RA内の不明領域の個数を区画毎に算出し、区画D1、D2及びD3のそれぞれの不明領域の個数を、回避領域RAの区画D1の第5コストCn31、区画D2の第5コストCn32及び区画D3の第5コストCn33として算出する。即ち、第5コストCn3は、区画の数と等しい数だけ算出される。図12の例では、第5コストCn31=2、第5コストCn32=2、第5コストCn33=0である。
(第6コストCn3total)
第2装置は、区画毎の第5コストCn3を合算したコストを、回避領域RAの第6コストCn3totalとして算出する。図12の例では、第6コストCn3totalは、2+2+0=4である。
上述した6つのコスト(第1コストCC1乃至第6コストCn3total)のそれぞれには、コスト閾値(第1コスト閾値乃至第6コスト閾値)が予め設定されている。より詳細には、第2コストCn1及び第5コストCn3については、区画の数だけコスト閾値が設定されている。区画毎のコスト閾値は、自車両から離間するにつれて高くなるように設定されている。
第2装置は、6つのコストのそれぞれが、対応するコスト閾値未満であるか否かを判定する。6つのコストの全てが対応するコスト閾値未満であると判定した場合、第2装置は、回避経路rAは走行経路として安全であると判定する。この場合、現在の周期における回避経路rAが、衝突回避ECUのRAMに格納されている回避経路rAと同一であれば、第2装置は、直前の周期における信頼度(初回周期の場合は初期値)に所定の値を加算した値を現在の周期における信頼度として算出する。
他方、6つのコストのうち少なくとも1つが対応するコスト閾値以上であると判定した場合、第2装置は、回避経路rAは走行経路として安全ではないと判定する。この場合、現在の周期における回避経路rAがRAMに格納されている回避経路rAと同一であれば、第2装置は、直前の周期における信頼度(初回周期の場合は初期値)から所定の値を減算した値を現在の周期における信頼度として算出する。
なお、減算する所定値(減算値)の大きさは、第1コストCC1乃至第6コストCn3totalの何れがコスト閾値以上であるかによって異なっていてもよい。例えば、第1コストCC1が第1コスト閾値以上である場合の減算値の大きさは、第3コストCC3が第3コスト閾値以上である場合の減算値の大きさより大きくてもよい。
回避経路rBについても、上記と同一の方法で走行経路として安全であるか否かが判定される。
この構成によっても、第1装置と同様の作用効果を奏することができる。加えて、第2装置では、グリッドマップ160が、回避経路rAの始点である点165から所定の距離毎に複数の区画に区切られている。障害物領域のコストC1の値及び不明領域のコストC3の値は、何れも自車両から離間した区画ほど低くなるように設定されている。このため、自車両から離間した区画において、視差情報及び画素情報に含まれるノイズに起因して障害物領域及び不明領域が誤特定される可能性が高くなっても、誤特定に起因して第1コストCC1及び第4コストCC3が高くなる可能性を低減することができる。加えて、区画別の障害物領域の個数の閾値及び不明領域の個数の閾値は、何れも自車両から離間した区画ほど大きくなる(即ち、自車両から離間した区画ほど、障害物領域及び不明領域の個数が多くても、コスト閾値以上になる可能性が低くなる。)。このため、自車両から離間した区画において、障害物領域及び不明領域が誤特定される可能性が高くなっても、誤特定に起因して第2コストCn1及び第5コストCn3がコスト閾値以上になってしまう可能性を低減することができる。従って、上記の構成によれば、ロバスト性が確保された衝突回避制御装置を実現することができる。
以上、本発明の実施形態に係る車両制御装置について説明したが、本発明はこれらに限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、時間閾値Tth0、Tth1、Tth2、Tth3は、全て等しくてもよいし(Tth0=Tth1=Tth2=Tth3)、これらの一部が等しくてもよい(例えば、Tth1=Tth2)。
加えて、第1実施形態においても、グリッドマップ60を回避経路rA又はrBの始点である点65から所定の距離毎に複数の区画に区切ってもよい。障害物領域のコストC1、白線領域のコストC2及び不明領域のコストC3の値のそれぞれを、自車両から離間するにつれて、区画毎に低くなるように設定してもよい。この構成によっても、ロバスト性が確保された衝突回避制御装置を実現することができる。
更に、一般に、前方障害物の手前(自車両側)には影ができ易い。影が存在する単位領域は、不明領域として特定され易い。このため、前方障害物の手前の単位領域に影が存在していると、当該単位領域が安全な走行経路であったとしても、安全領域ではなく不明領域として特定される可能性が高い。従って、第2実施形態において前方障害物の手前の単位領域が回避領域RA又はRB内に含まれている場合において、当該単位領域が不明領域として特定された場合(図12参照)、当該不明領域のコストC2を、同一区画内の通常の不明領域のコストC2よりも低く設定してもよい。この構成によると、実際には安全領域であるにも関わらず、影が存在するために不明領域であると誤特定されたことに起因して第4コストCC3の値が高くなる可能性を低減できるため、ロバスト性が確保された衝突回避制御装置を実現することができる。
更に、第2実施形態では、グリッドマップ160は回避経路rA又はrBの始点である点165を起点として複数の区画に区切られたが、区画の区切り方はこの構成に限られない。例えば、前方障害物が存在する障害物領域を起点として、所定の距離毎にグリッドマップを区切ることにより複数の区画を形成してもよい。
更に、直前の演算周期における信頼度(又は信頼度の初期値)に加算又は減算する所定値は、TTCによって可変であってもよい。障害物領域であるか否かを特定する精度は、自車両が当該障害物領域に近接するにつれて高くなるため、TTCが大きいとき(即ち、前方障害物までの距離が長いとき)は所定値を低く設定し、TTCが小さくなるにつれて(即ち、前方障害物までの距離が短くなるにつれて)所定値を高く設定する構成であってもよい。