以下、本発明の実施形態に係る道路形状推定装置1について説明する。本発明に係る道路形状推定装置1は、自車両100に搭載され、自車両100が走行する道路の形状を推定する装置である。なお、以下では自車両100が走行する道路を自車走行道路と称する。
先ず、図1を参照して道路形状推定装置1のハードウェア構成について説明する。なお、図1は、本発明の実施形態に係る道路形状推定装置1の構成の一例を示すブロック図である。図1に示すように、道路形状推定装置1は、レーダー装置11、およびECU12を備える。また、ECU12は、自車両100に搭載される車両制御装置50と電気的に接続される。
レーダー装置11は、例えば、図2に示すように自車両100の周囲に存在する静止物の位置を複数の検出点として検出する装置である。なお、図2は、レーダー装置11が直接検出した検出点の一例を示す図である。図2では、先行車200を示す検出点P5(黒丸印)およびガードレール300を示す検出点PaからPg(白塗り四角印)がレーダー装置11によって検出されている例を示す。なお、図2の検出点PhからPj(黒塗り四角印)は、後述ECU12の処理により外挿された検出点を示す。レーダー装置11は、自車両100の前端に搭載され、自車両100の前方に存在する物体を検出する。レーダー装置11は、典型的にはミリ波長帯の電磁波を送受信するFM−CW方式のレーダー装置である。レーダー装置11は、例えば、電磁波等の検出波信号を自車両100の前方に照射する。そして、物体に反射された当該検出波信号の反射波に基づいて当該反射点の位置を検出点として検出する。
レーダー装置11は、図2に示すように、自車両100の前端を原点とし、自車両100を平面視した場合に、自車両100の進行方向を示す軸線をY軸、当該Y軸と水平面上で垂直に交差する軸線をX軸としたXY座標系で検出点の位置情報を取得する。また、レーダー装置11は、各検出点が静止物を示すものであるか、あるいは先行車や対向車などの他車両を示す物かを判別する。なお、レーダー装置11は、従来周知の手法を用いて各検出点が静止物、あるいは他車両を示すものであるかを判別して構わない。以下では、静止物を示す検出点を静止物検出点と称し、他車両を示す検出点を他車両検出点と称する。レーダー装置11は、このようにして検出された各検出点の位置情報(XY座標)をECU12へ送信する。
ECU12は、典型的には、CPU(Central Processing Unit:中央処理装置)などの情報処理装置、メモリなどの記憶装置、およびインターフェース回路などを備える電子制御装置である。ECU12は、車両制御装置50と電気的に接続される。
車両制御装置50は、例えば、ブレーキ制御装置、ステアリング制御装置、および警報装置等の制御装置である。ブレーキ制御装置、ステアリング制御装置、および警報装置は、ECU12から取得した自車走行道路の形状に応じて、各々、自車両100の走行を制御する。例えば、ブレーキ制御装置、およびステアリング制御装置は、自車両100が自車走行道路を逸脱しないように自車両100の進行方向や走行速度を制御する。また、警報装置は、自車走行道路の端部に存在すると予想されるガードレール等の路側静止物と自車両100との衝突を予測して自車両100のドライバーへ音声等により衝突の危険を知らせる警報を発する。すなわち、道路形状推定装置1が自車走行道路の形状を正しく検出することによって、車両制御装置50は、適切な車両制御を実行することができる。
次いで、図3を参照して、ECU12が実行する処理について説明する。図3は、ECU12が実行する処理の詳細を示すフローチャートの一例である。ECU12は、例えば、自車両100のIG電源がオン状態に設定された場合に図3のフローチャートの処理を開始する。ECU12は、図3のフローチャートの処理を開始すると、先ず、ステップS1の処理を実行する。なお、ECU12は、以下に示すステップS1からステップS12までの処理を1サイクルとしてこれらの処理を繰り返し実行する。
ステップS1においてECU12は、レーダー装置11から静止物の検出点情報を取得する。ECU12は、取得した検出点の位置情報を、取得した時刻と対応付けて記憶装置に記憶する。ECU12は、ステップS1の処理を完了すると、処理をステップS2へ進める。
ステップS2において、ECU12は、ECU12の記憶装置に記憶された過去に検出された検出点の履歴情報に基づいて現時点における当該検出点の位置を外挿する。外挿とは、過去のサンプリング時において捕捉された検出点の位置および相対速度等から今回のサンプリング時における検出点の位置を予測し、予測した位置近傍に検出点が捕捉されない場合に、その予測した位置に実際に検出点が存在すると仮定する技術である。ECU12は、周知の任意の技術を用いて検出点の位置を外挿して良い。以下、本ステップS2の処理によって外挿された検出点を外挿点と称する。これに対し、レーダー装置11により直接検出された検出点を直接検出点と称する。本ステップS2の処理によって外挿された検出点の位置情報は、当該検出点が外挿点である旨を示す外挿フラグデータと合わせてECU12の記憶装置に記憶される。なお、図2においては、本ステップS2の処理によって外挿された検出点PhからPkを黒塗り四角印で示す。ECU12は、ステップS2の処理を完了すると、処理をステップS3へ進める。
ステップS3において、ECU12は、他車両軌跡算出処理を実行する。具体的には、ECU12は、自車両100の前方を走行する他車両を示す他車両検出点の現在および過去の位置を図4のようにマッピングする。なお、図4は、他車両軌跡線が算出される様子を示す図である。そして、マッピングした他車両検出点を時系列順に線分で接続し、他車両の走行軌跡を示す他車両軌跡線を算出する。以下では、図4に示したように他車両として先行車200が検出されている場合を一例としてECU12の処理について説明する。なお、上記他車両軌跡線を算出する方法は一例であり、ECU12は、従来周知の任意の手法を用いて他車両の軌跡を示す軌跡線を算出しても良い。ECU12は、ステップS3の処理を完了すると、処理をステップS4へ進める。
ステップS4において、ECU12は、軌跡線近似処理を実行する。具体的には、ECU12は、ステップS3において算出した他車両軌跡線を図5に示すように折曲直線に近似する。なお、図5は、他車両軌跡線が折曲直線に近似される様子を示す図である。なお、折曲直線は、折曲点HP、折曲前軌跡直線LA、折曲後軌跡直線LBから成る。折曲前軌跡直線LAは、折曲直線を構成する直線のうち変曲点を基準として自車両100の近傍側に存在する直線である。折曲後軌跡直線LBは、折曲直線を構成する直線のうち変曲点を基準として自車両100の遠方側に存在する直線である。なお、ECU12は、従来周知の任意の手法を用いて軌跡線を折曲直線に近似して良い。より好ましくは、ECU12は、国際特許出願PCT/JP2011/000596に記載のようにして軌跡線を近似すると良い。ECU12は、ステップS4の処理を完了すると、処理をステップS5へ進める。
ステップS5において、ECU12は、他車両軌跡線が過去T時間内に更新されたか否か判定する。なお、ECU12は、従来周知の任意の手法を用いて他車両軌跡線が更新されたか否か判定して良い。ECU12は、他車両軌跡が過去T時間内に更新されたと判定した場合、処理をステップS6へ進める。一方、ECU12は、他車両軌跡が過去T時間内に更新されていないと判定した場合、処理をステップS8へ進める。
ステップS6において、ECU12は、死角領域算出処理を実行する。死角領域算出処理は、レーダー装置11から見て死角となる領域を算出する処理である。図6は、ECU12が実行する死角領域算出処理の詳細を示すフローチャートの一例である。ECU12は、図6のフローチャートの処理を開始すると、先ず、ステップS61の処理を実行する。
ステップS61において、他車両存在領域を算出する。他車両存在領域CAは、自車両100の先行車や対向車など他車両が存在する領域である。ECU12は、図5に示すように現時点の検出点(図5においてはP5)を基準として予め定められた大きさの矩形領域を他車両存在領域CAとして算出する。より詳細には、矩形領域を定義する四隅の点(以下、他車両領域形状点と称する)の座標を定義し、当該点を直線で結んだ内側の領域を他車両存在領域CAとする。他車両存在領域CAの大きさは、例えば、横幅1.7(m)、縦長さ4.2(m)程度の大きさで任意に設定して良いが、一般的な普通車の寸法規格に基づいて予め算出しておくことが好ましい。なお他車両存在領域CAを表す矩形領域は、他が手方向が折曲後軌跡直線LBが示す方向と同方向を示すよう配置される。ステップS61の処理を完了すると、ECU12は、処理をステップS62へ進める。
上記他車両存在領域CAは、ステップS61において他車両が一般的な普通車であると仮定して定めた領域であるため、実際の他車両の大きさに応じて設定されたものではない。すなわち、実際の他車両が大型車等である場合には、他車両存在領域CAの大きさが実際の他車両の大きさと一致せず、死角領域を正確に算出できない可能性がある。したがって、ECU12は、以下に示す他車両存在領域修正処理を実行することによって、他車両修正領域を修正し、他車両存在領域CAを正確に算出する。
ステップS62において、ECU12は、他車両存在領域修正処理を実行する。ステップS61において算出された他車両修正領域を修正して、他車両存在領域を、より正確に算出する処理である。図7は、ECU12が実行する他車両存在領域算出処理の詳細を示すフローチャートの一例である。ECU12は、図7のフローチャートの処理を開始すると、先ず、ステップS621の処理を実行する。
ステップS621において、ECU12は、上述ステップS4の処理において折曲点が算出されているか否か判定する。ECU12は、折曲点が算出されていると判定した場合、処理をステップS622へ進める。一方、ECU12は、折曲点が算出されていないと判定した場合、処理を図6のステップS63へ進める。
ステップS622において、ECU12は、折曲角時間変化量Δβを算出する。折曲角時間変化量Δβは、折曲後軌跡直線LBとY軸とが成す角度βの前回サイクルからの変化量である。ECU12は、角度βの値を算出して記憶装置に記憶する。そして、ECU12は、前回サイクルにおいて記憶した角度βの値を、現在の角度βの値から減算して折曲角時間変化量Δβを算出する。ECU12は、算出した折曲角時間変化量Δβの値を記憶装置に記憶する。ECU12は、ステップS622の処理を完了すると、処理をステップS623へ進める。
ステップS623において、ECU12は、Nサイクル継続して折曲時間変化量Δβが変化量閾値ΔβTh以上であるか否か判定する。変化量閾値ΔβThは、ECU12の記憶装置に予め記憶された任意の定数であり、例えば、3(deg)である。また、Nの値は、ECU12の記憶装置に予め記憶された任意の定数であり、例えば、6に設定される。すなわち、ECU12は、例えば、過去6サイクルの間において記憶した折曲角時間変化量Δβの値が何れも3(deg)以上であるか否か判定する。ECU12は、Nサイクル継続して折曲時間変化量Δβが変化量閾値ΔβTh以上であると判定した場合、処理をステップS624へ進める。一方、ECU12は、Nサイクル継続して折曲時間変化量Δβが変化量閾値ΔβTh以上となっていないと判定した場合、処理を図6のステップS63へ進める。
上記ステップS621およびステップS623の処理によれば、前方車両がカーブ走行している可能性が高い場合、すなわち前方の道路形状が直線でない可能性が高い場合にのみ以下に示すステップS624からステップS636の処理が実行され、他車両存在領域が修正される。
ステップS624において、ECU12は、探索領域縦距離Dyを算出する。探索領域縦距離Dyは、図8に示すように探索領域Dの縦方向の大きさを示すパラメータである。図8は、探索領域Dを示す図である。探索領域Dは、ECU12が直接検出点および外挿点の分布状況を探索する対象領域である。ECU12は、図9に示す関数、および現在の他車両検出点のY座標に基づいて探索領域縦距離Dyを算出する。なお、図9は、探索領域縦距離Dyを算出するための関数を表すグラフの一例である。図9において横軸は現在の他車両検出点のY座標を示し、縦軸は探索領域縦距離Dyを示す。ECU12は、ステップS624の処理を完了すると、処理をステップS625へ進める。
ステップS625において、ECU12は、探索小領域DA、DB、およびDCを算出する。探索小領域DA、DB、およびDCは、各々探索小領域を構成する領域である。以下、図8を参照してECU12が探索小領域を算出する方法について説明する。先ず、ECU12は、原点(自車両100前端)から、他車両存在領域CAに接する接線G1およびG2を引く。次いで、ECU12は、原点から接線G1およびG2の中間を通る角度基準線GCを引く。また、ECU12は、接線G1と角度基準線GCとの中間を通る中間線G3、接線G2と角度基準線GCとの中間を通る中間線G4を引く。さらに、ECU12は、角度基準線GCを、原点を中心に右方向へ角度φだけ回転させた位置に外端線G5を引く。なお、角度φは、折曲前軌跡直線LAとY軸とが成す角度α(図5参照)と、折曲後軌跡直線LBとY軸とが成す角度β(図5参照)とを加算した和である。同様に、ECU12は、角度基準線GCを、原点を中心に右方向へ角度φだけ回転させた位置に外端線G6を引く。そして、ECU12は、現時点における他車両検出点のY座標(図8においてはP5)から探索縦距離Dyまでの領域のうち、接線G1と中間線G3との間の領域、および接線G2と中間線G4との間の領域を探索小領域DAとして算出する。また、ECU12は、現時点における他車両検出点のY座標(図8においてはP5)から探索縦距離Dyまでの領域のうち、接線G1と外端線G5との間の領域、および接線G2と外端線G6との間の領域を探索小領域DBとして算出する。また、ECU12は、現時点における他車両検出点のY座標(図8においてはP5)から探索縦距離Dyまでの領域のうち、中間線G3と中間線G4との間の領域を探索小領域DCとして算出する。ECU12は、ステップS625の処理を完了すると、処理をステップS626へ進める。
上記のような処理から、仮に他車両存在領域CAが正確に算出されていたならば、接線G1およびG2の内側に存在する探索小領域DAおよびDCは、レーダー装置11から見て先行車200の死角となる領域であり、接線G1およびG2の外側に存在する探索小領域DBは、レーダー装置11から見て死角とならない領域である。したがって、仮に他車両存在領域CAが正確に算出されていたならば、図10に示すように探索小領域DAおよびDCにおいては外挿点の検出率が高くなり、直接検出点の検出率が低くなる。一方、仮に他車両存在領域CAが正確に算出されていたならば、探索小領域DAにおいては外挿点の検出率が低くなり、直接検出点の検出率が高くなると考えられる。なお、図10は、各探索小領域における直接検出点および外挿点の分布状況をグラフ表示した図である。図10において縦軸は検出点の個数を、横軸は角度基準線GCとした回転角ηでXY平面上の領域の位置を示している。
ここで、各探索小領域における外挿点および直接検出点の検出傾向が上記と異なる場合、他車両存在領域CAが正確に算出されていないと考えられる。例えば、探索小領域DBだけでなく探索小領域DAにおいても直接検出点の検出率が高い場合(外挿点の検出率が低い場合)、他車両存在領域CAは実際の他車両の大きさに比べて大きく設定されている可能性が高いと考えられる。また、探索小領域DAだけでなく探索小領域DBにおいても直接検出点の検出率が低い場合(外挿点の検出率が高い場合)、他車両存在領域CAは実際の他車両の大きさに比べて小さく設定されている可能性が高いと考えられる。したがって、ECU12は、以下に示すステップS626からステップS635の処理によって、他車両存在領域CAが正確に算出されているか否か判定し、他車両存在領域CAが正確に算出されていない場合には当該領域を修正する。
ステップS626において、ECU12は、検出点数Ka、Kb、およびKcをカウントする。検出点数Kaは、探索小領域内DA内に存在する外挿点および直接検出点の総数である。検出点数Kbは、探索小領域内DB内に存在する外挿点および直接検出点の総数である。検出点数Kcは、探索小領域内DC内に存在する外挿点および直接検出点の総数である。ECU12は、ステップS626の処理を完了すると、処理をステップS627へ進める。
ステップS627において、ECU12は、検出点数Kaが検出点数閾値KaTh以上であるか否か判定する。検出点数閾値KaThは、予め定められた任意の定数であり、例えば3に設定される。ECU12は、検出点数Kaが検出点数閾値KaTh以上であると判定した場合、処理をステップS628へ進める。一方、ECU12は、検出点数Kaが検出点数閾値KaTh未満であると判定した場合、処理を図6のステップS63へ進める。
ステップS628において、ECU12は、検出点数Kbが検出点数閾値KbTh以上であるか否か判定する。検出点数閾値KbThは、検出点数閾値KaThより大きな任意の定数であり、例えば5に設定される。ECU12は、検出点数Kbが検出点数閾値KbTh以上であると判定した場合、処理をステップS629へ進める。一方、ECU12は、検出点数Kbが検出点数閾値KbTh未満であると判定した場合、処理を図6のステップS63へ進める。
ステップS629において、ECU12は、検出点数Kcが検出点数閾値KcTh以上であるか否か判定する。検出点数閾値KcThは、検出点数閾値KbThより大きな任意の定数であり、例えば5に設定される。ECU12は、検出点数Kcが検出点数閾値KcTh以上であると判定した場合、処理をステップS630へ進める。一方、ECU12は、検出点数Kcが検出点数閾値KcTh未満であると判定した場合、処理を図6のステップS63へ進める。
上記ステップS626からステップS629の処理によれば、各探索小領域内の検出点数が比較的多い場合には、下記ステップS630からステップS637に示す処理により、外挿点および直接検出点の分布に基づいて他車両存在領域CAが修正される。一方、各探索小領域内の検出点数が比較的少ない場合には、車両存在領域CAの修正が行われることなく他車両存在領域修正処理を終了する。
ステップS630において、ECU12は、外挿点割合Fa、Fb、およびFcを算出する。外挿点割合Faは、探索小領域DAにおける全検出点数に対する直接検出点が占める割合である。ECU12は、探索小領域DAにおける直接検出点の数をKJaとすると、下記式(1)に基づいて外挿点割合Faを算出する。
Fa=KJa/Ka×100 …(1)
外挿点割合Fbは、探索小領域DBにおける全検出点数に対する直接検出点が占める割合である。ECU12は、探索小領域DBにおける直接検出点の数をKJbとすると、下記式(2)に基づいて外挿点割合Faを算出する。
Fb=KJb/Kb×100 …(2)
外挿点割合Fcは、探索小領域DCにおける全検出点数に対する直接検出点が占める割合である。ECU12は、探索小領域DCにおける直接検出点の数をKJcとすると、下記式(3)に基づいて外挿点割合Fcを算出する。
Fc=KJc/Kc×100 …(3)
ECU12は、ステップS630の処理を完了すると、処理をステップS631へ進める。
ステップS631において、ECU12は、外挿点割合Fcが割合閾値FcTh以下か否か判定する。割合閾値FcThは、予め定められた定数値であり、例えば30に設定される。ECU12は、外挿点割合Fcが割合閾値FcTh以下であると判定した場合、処理をステップS632へ進める。一方、ECU12は、外挿点割合Fcが割合閾値FcThより大きいと判定した場合、処理を図6のステップS63へ進める。
ステップS632において、ECU12は、外挿点割合Faが割合閾値FaTh1以上か否か判定する。割合閾値FaTh1は、予め定められた定数値であり、例えば60に設定される。ECU12は、外挿点割合Faが割合閾値FaTh1以上であると判定した場合、処理をステップS636へ進める。一方、ECU12は、外挿点割合Faが割合閾値FaTh1未満であると判定した場合、処理をステップS633へ進める。
ステップS633において、ECU12は、外挿点割合Fbが割合閾値FbTh1以上か否か判定する。割合閾値FbTh1は、予め定められた定数値であり、例えば60に設定される。ECU12は、外挿点割合Fbが割合閾値FbTh1以上であると判定した場合、処理をステップS636へ進める。一方、ECU12は、外挿点割合Fbが割合閾値FbTh1未満であると判定した場合、処理をステップS634へ進める。
ステップS634において、ECU12は、外挿点割合Faが割合閾値FaTh2以下か否か判定する。割合閾値FaTh2は、予め定められた定数値であり、例えば10に設定される。ECU12は、外挿点割合Faが割合閾値FaTh2以下であると判定した場合、処理をステップS637へ進める。一方、ECU12は、外挿点割合Faが割合閾値FaTh2より大きいと判定した場合、処理をステップS635へ進める。
ステップS635において、ECU12は、外挿点割合Fbが割合閾値FbTh2以下か否か判定する。割合閾値FbTh2は、予め定められた定数値であり、例えば10に設定される。ECU12は、外挿点割合Fbが割合閾値FbTh2以下であると判定した場合、処理をステップS637へ進める。一方、ECU12は、外挿点割合Fbが割合閾値FbTh2より大きいと判定した場合、処理を図6のステップS63へ進める。
ステップS636において、ECU12は、他車両存在領域CAを縮小する。具体的には、ECU12は、他車両存在領域CAの横幅を縮小する。他車両存在領域CAの縮小量は任意に定めて良い。ECU12はステップS636の処理を完了すると、処理を図6のステップS63へ進める。
ステップS637において、ECU12は、他車両存在領域CAを拡大する。具体的には、ECU12は、他車両存在領域CAの横幅を拡大する。他車両存在領域CAの拡大量は任意に定めて良いが、一般的な車両が取り得る大きさを鑑みれば、最大でも初期の横幅の2倍以内とすることが好ましい。ECU12はステップS637の処理を完了すると、処理を図6のステップS63へ進める。
上記ステップS61およびステップS62の処理によれば、他車両が存在する他車両存在領域を正確に算出することができる。レーダー装置11の特性から、死角領域において直接検出点は検出され難い。しかしながら、実際にはレーダー装置11は、ノイズ等の影響により、物体が存在しない位置において検出点を補足する場合がある。また、他車両の車体下方を検出波が反射した場合、レーダー装置11は、他車両より遠方の物体の検出点を得ることができる場合もある。したがって、実際には、死角領域内においても直接検出点と外挿点とが混在して検出される。但し、死角領域内においては直接検出点が比較的少く、外挿点が比較的多い割合で検出されると考えられる。そのため、上記のようにレーダー装置11の検出領域を所定の角度で探索小領域に分割し、各領域における直接検出点および外挿点の分布状況を求めることによって、他車両存在領域を正確に算出することができる。
なお、上記探索領域および探索小領域の設定方法は一例であり、複数種の検出点の分布状況を算出可能であれば従来周知の任意の手法を用いて当該分布状況を算出して構わない。また、上記ステップS61およびステップS62の処理では、他車両存在領域を直接検出点および外挿点の分布状況に応じて算出する例について説明したが、他車両存在領域を算出可能であれば、他の任意の手法を用いても構わない。また、死角領域が算出可能であれば、上記に限らず任意の方法を用いて死角領域を算出しても構わない。
図6の説明に戻り、ステップS63において、ECU12は、他車両存在領域CAに基づいて死角領域CXを算出する。ECU12が算出する死角領域CXを図11において斜線ハッチングにて示す。図11は、ECU12によって算出された死角領域CXを示す図である。具体的には、ECU12は、先ず、原点(自車両100前端)から、他車両存在領域CAに接する接線G7、およびG8を引く。そして、ECU12は、接線G7、およびG8に囲まれる領域のうち、自車両100から見て他車両存在領域CAより遠方の領域を死角領域CXとして算出する。ECU12は、ステップS63の処理を完了すると、処理を図3のステップS7へ進める。
以上に示したステップS6の死角領域算出処理によれば、正確に算出した他車両存在領域を用いることによって、自車両100から見て他車両の奥側に広がる死角領域CXを正確に算出することができる。なお、上記探索小領域の設定方法は一例であり、その大きさや数等は適宜変更して本発明を適用しても構わない。また、死角領域CXを正確に算出可能であれば、ECU12は上記処理に限らず従来周知の任意の手法を用いて死角領域CXを算出しても良い。
ステップS7において、ECU12は、死角検出点接続処理を実行する。死角検出点接続処理は、死角領域内に存在する検出点を線分で接続して死角領域内の接続線(以下、死角接続線Ebと称する)を算出する処理である。以下、図12を参照して、ECU12が実行する接続範囲設定処理について説明する。図12は、ECU12が実行する接続範囲設定処理の詳細を示すフローチャートの一例である。ECU12は、図12のフローチャートの処理を開始すると、先ず、ステップS71の処理を実行する。
なお、ECU12により接続範囲が設定される様子を図13に示す。図13は、接続範囲が設定される様子を示す図である。図13に示す通り、接続範囲は接続元を基準として設定される矩形領域である。
ステップS71において、ECU12は、死角接続開始点を算出する。死角接続開始点とは、以下に示す処理によって死角領域において形成される死角接続線Ebの開始点となる静止物検出点である。ECU12は、例えば、死角領域CXに存在する静止物検出点のうち、自車両100にY軸方向に最も近い位置に存在する静止物検出点を接続開始点として算出する。なお、ECU12は、従来周知の任意の手法を用いて死角接続開始点を算出して良い。ECU12は、ステップS71の処理を完了すると、処理をステップS72へ進める。
ステップS72において、ECU12は、接続開始点を接続元に設定する。ECU12は、ステップS72の処理を完了すると、処理をステップS73へ進める。
ステップS73において、接続範囲の寸法を算出する。先ず、ECU12は、接続範囲の縦寸法Ly(図13参照)を算出する。具体的には、ECU12は、接続元のY座標pyおよび図14のように予め定められた関数に基づいて基準縦寸法Lkyを算出する。なお、図14は、基準縦寸法Lkyを算出するための関数を表すグラフの一例である。図14において横軸は接続元である検出点のY座標pyを示し、縦軸は基準縦寸法Lkyを示す。また、ECU12は、現在の他車両検出点のY座標、および図16に示す関数に基づいて拡大係数εを算出する。拡大係数εは、1以上の係数値である。なお、図16において縦軸は拡大係数εを示し、横軸は現在の他車両検出点のY座標を示す。図16に示すように、ECU12は、現在の他車両検出点のY座標が大きいほど、すなわち自車両100に対して他車両が、より遠方に存在するほど大きな値となるよう拡大係数εを算出する。そして、ECU12は、基準縦寸法Lkyおよび拡大係数εに基づいて下式(4)によって接続範囲の縦寸法Lyを算出する。
Ly=Lky×ε …(4)
ECU12は、接続範囲の横寸法Lx(図13参照)を算出する。具体的には、ECU12は、接続元のY座標pxおよび図15のように予め定められた関数に基づいて基準横寸法Lkxを算出する。なお、図15は、基準横寸法Lkxを算出するための関数を表すグラフの一例である。図15において横軸は接続元である検出点のY座標pyを示し、横軸は基準横寸法Lkxを示す。そして、ECU12は、基準横寸法Lkxおよび拡大係数εに基づいて下式(5)によって接続範囲の横寸法Lxを算出する。
Lx=Lkx×ε …(5)
ECU12は、ステップS73の処理を完了すると、処理をステップS74へ進める。
なお、死角領域CX外の領域において検出点を接続する際には拡大係数εを用いることなく接続範囲を算出する。つまり、上記ステップS73の処理によれば、死角領域CXにおいては、死角領域外において検出点を接続する場合(後述ステップS8参照)に比べ、接続範囲を大きく設定することができる。死角領域CXでは、死角領域外に比べて検出点の数が少なかったり、検出点の間隔が比較的大きくなったりする傾向があると考えられる。そこで、接続範囲を拡大して死角領域CXにおいて接続線を形成し易くすることによって、死角領域CXにおける道路形状を正確に算出することができる。また、拡大係数εの大きさを検出点までの距離(Y座標)に応じて変動させることによって、レーダー装置11の分解能特性等を考慮して接続範囲の大きさを好適に変更することができる。
ステップS74において、ECU12は、接続範囲回転角θを算出する。接続範囲回転角θは、接続範囲を回転する際に用いる回転量である。ECU12は、接続元に接続された線分が示す方向に応じて接続範囲回転角θを算出する。例えば、任意の検出点Pcを接続元とし、接続範囲としてAcを設定する際に、接続範囲回転角θとしてθcを算出する場合を想定する。検出点Pcは、後述のステップS8の処理に基づいて、線分Qbを介して検出点Pbと予め接続されている。先ず、ECU12は、検出点Pcの座標(cx,cy)、検出点Pbの座標(bx,by)、および式(6)に基づいて、線分QbとY軸とが成す角度ωbcを算出する。
ωbc=arctan{(cx−bx)/(cy−by)} …(6)
次いで、前回、検出点Pbを基準として接続範囲Abを設定する際に計算された接続範囲回転角θをθbとすると、ECU12は、ωbc、θb、および式(7)に基づいてθcを算出する。
θc=ωbc×ψ+(1−ψ)×θb …(7)
なお、式(7)における係数ψは、0以上1以下の係数である。なお、ECU12は、接続元に至るまでに接続された検出点の数(以下、接続階層数Jと称する)が多いほど、係数ψの値を小さな値として算出することが好ましい。なお、接続元が死角開始点である場合、ECU12は、接続範囲回転角θ(上記の例におけるθb)の値を0として算出する。ECU12は、ステップS74の処理を完了すると、処理をステップS75へ進める。
ステップS75において、ECU12は、接続範囲を設定する。具体的には、図13に示すように、ECU12は、先ず、接続元の検出点を中心として左右に横寸法Lxの長さを有する横手方向の辺を設定する。次いで、ECU12は、接続元の検出点からY軸方向へ縦寸法Lyの長さを有する長手方向の辺を設定する。そして、ECU12は、このようにして設定された長手方向および横手方向の四辺で囲われた矩形領域を、接続元の検出点を中心として接続範囲回転角θだけ回転させることによって、接続範囲を設定する。ECU12は、ステップS75の処理を完了すると、処理をステップS76へ進める。
なお、上記実施例では接続範囲を矩形領域として設定する例について説明したが、死角領域CX内において接続範囲を拡大可能であれば、接続範囲は矩形領域に限らず任意の形状として本発明を適用しても構わない。
ステップS76において、ECU12は、接続範囲内に検出点が存在するか否か判定する。ECU12は、接続範囲内に検出点が存在すると判定した場合、処理をステップS77へ進める。一方、ECU12は、接続範囲内に検出点が存在しないと判定した場合、処理を図3のステップS8へ進める。
ステップS77において、ECU12は、接続範囲内に存在する検出点のうち接続元までの距離が最も短い検出点を接続先として選択する。ECU12は、ステップS77の処理を完了すると、処理をステップS78へ進める。
ステップS78において、ECU12は、接続元と接続先とを線分で接続する。なお、ECU12は、接続元と接続先とを曲線で接続しても構わない。ECU12は、ステップS78の処理を完了すると、処理をステップS79へ進める。
ステップS79において、ECU12は、ステップS78において接続された接続先を新たな接続元に設定する。ECU12は、ステップS79の処理を完了すると、処理をステップS73へ戻す。
上記死角検出点接続処理によって死角接続線Ebが算出される様子を図17に示す。図17は、死角接続線Ebが算出される様子を示す図である。図17においては、死角領域CX内において外挿された静止物検出点Pi、Pj、およびPkが接続されて死角接続線Ebが構成されている。
なお上記ステップS5の処理によれば、他車両の走行軌跡が所定時間更新されていない場合には、ステップS6およびステップS7の処理が行われないため、死角領域CXが算出されない。他車両の走行軌跡が所定時間更新されていない場合には、他車両存在領域を正確に算出することが困難であると想定される。すなわち、死角領域CXを正確に算出することが困難であると考えられる。したがって、このような場合には、死角領域CXを考慮せず道路の形状を推定することによって、誤って算出された死角領域に基づいて誤った道路形状が算出されることを防ぐことができる。なお、処理プログラムを簡単に構成したい場合には、ステップS5の処理を省略しても良い。
ステップS8において、ECU12は、路側検出点接続処理を実行する。路側検出点接続処理は、死角領域外に存在する検出点を線分で接続して路側接続線Eaを算出する処理である。以下、図18を参照して、ECU12が実行する接続範囲設定処理について説明する。図18は、ECU12が実行する路側検出点接続処理の詳細を示すフローチャートの一例である。ECU12は、図18のフローチャートの処理を開始すると、先ず、ステップS81の処理を実行する。
ステップS81において、ECU12は、路側接続開始点を算出する。路側接続開始点とは、以下に示す処理によって死角領域において形成される路側接続線の開始点となる静止物検出点である。ECU12は、例えば、死角領域外に存在する静止物検出点のうち、自車両100にY軸方向に最も近い位置に存在する静止物検出点を接続開始点として算出する。なお、ECU12は、従来周知の任意の手法を用いて路側接続開始点を算出して良い。より好ましくは、ECU12は、PCT/JP2010/006489に記載の方法などを用いて接続開始点を算出すると良い。ECU12は、ステップS81の処理を完了すると、処理をステップS82へ進める。
ステップS82において、ECU12は、路側接続開始点を接続元に設定する。ECU12は、ステップS82の処理を完了すると、処理をステップS83へ進める。
ステップS83において、接続範囲の寸法を算出する。具体的には、ECU12は、式(8)に基づいて縦寸法Lyを算出する。また、ECU12は、式(9)に基づいて横寸法Lxを算出する。
Ly=Lky …(8)
Lx=Lkx …(9)
なお、基準縦寸法Lkyおよび基準横寸法Lkxの算出方法は上記ステップS73の処理と同様である。ECU12は、ステップS83の処理を完了すると、処理をステップS84へ進める。
ステップS84において、ECU12は、上述ステップS74と同様にして接続範囲回転角θを算出する。ECU12は、ステップS84の処理を完了すると、処理をステップS85へ進める。
ステップS85において、ECU12は、上述ステップS75と同様にして接続範囲を設定する。ECU12は、ステップS85の処理を完了すると、処理をステップS86へ進める。
ステップS86において、ECU12は、接続範囲内に検出点が存在するか否か判定する。ECU12は、接続範囲内に検出点が存在すると判定した場合、処理をステップS87へ進める。一方、ECU12は、接続範囲内に検出点が存在しないと判定した場合、処理を図3のステップS9へ進める。
ステップS87において、ECU12は、接続範囲内に存在する検出点のうち接続元までの距離が最も短い検出点を接続先として選択する。ECU12は、ステップS87の処理を完了すると、処理をステップS88へ進める。
ステップS88において、ECU12は、接続元と接続先とを線分で接続する。なお、ECU12は、接続元と接続先とを曲線で接続しても構わない。ECU12は、ステップS88の処理を完了すると、処理をステップS89へ進める。
ステップS89において、ECU12は、ステップS88において接続された接続先を新たな接続元に設定する。ECU12は、ステップS89の処理を完了すると、処理をステップS83へ戻す。
上記路側検出点接続処理によって路側接続線Eaが算出される様子を図19に示す。図19は、路側接続線が算出される様子を示す図である。図19においては、静止物検出点PaからPeおよびPhが接続されて路側接続線Eaが構成されている。
ステップS9において、ECU12は、今回の処理サイクルにおいて死角接続線Ebが算出されているか否か判定する。ECU12は、死角接続線Ebが算出されていると判定した場合、処理をステップS10へ進める。一方、ECU12は、死角接続線Ebが算出されていないと判定した場合、処理をステップS11へ進める。
ステップS10において、ECU12は、再接続処理を実行する。以下、図20を参照して、ECU12が実行する接続範囲設定処理について説明する。図20は、ECU12が実行する再接続処理の詳細を示すフローチャートの一例である。ECU12は、図20のフローチャートの処理を開始すると、先ず、ステップS101の処理を実行する。
ステップS101において、ECU12は、信頼度算出処理を実行する。信頼度算出処理は、死角接続線Ebおよび路側接続線Ea各々の合計信頼度ΣRを算出する処理である。合計信頼度ΣRは、死角接続線Ebおよび路側接続線Eaがガードレール等の路側静止物を示すものである可能性の高さを示す数値である。ECU12は、死角接続線Ebおよび路側接続線Eaを構成する検出点に関する情報に基づいて合計信頼度ΣRを算出する。以下、図21を参照して、ECU12が実行する合計信頼度算出処理について説明する。図21は、ECU12が実行する信頼度算出処理の詳細を示すフローチャートの一例である。ECU12は、図21のフローチャートの処理を開始すると、先ず、ステップS200の処理を実行する。
ステップS200において、ECU12は、合計信頼度ΣRが未算出の死角接続線Ebおよび路側接続線Eaのうち1つを選択する。なお、以下では、本ステップS200において選択された死角接続線Eb或いは路側接続線Eaを選択接続線と称する。ECU12は、ステップS201の処理を完了すると、処理をステップS201へ進める。
ステップS201において、ECU12は、選択接続線を構成する検出点を1つ選択する。なお、以下では、本ステップS201において選択された検出点を選択検出点と称する。以下に示すステップS202からステップS214の処理によって、選択検出点の信頼度Rが算出される。ECU12は、ステップS201の処理を完了すると、処理をステップS202へ進める。
ステップS202において、ECU12は、選択検出点の検出履歴が有るか否か判定する。具体的には、ECU12の記憶装置に記憶された過去の検出点情報から選択検出点と同一物を示すものが有るか否か判定する。選択検出点が静止物であれば、自車両100の走行速度に応じてその位置が経時変化する。したがって、ECU12は、例えば、前回サンプリング時において選択検出点が存在していたであろう位置を選択検出点の現在の位置および自車両100の走行速度に基づいて推定する。そして、ECU12は、前回サンプリング時に当該推定された位置近傍において検出点が補足されていた履歴がECU12の記憶装置に記憶されている場合、当該履歴を選択検出点の検出履歴として判別する。なお、ECU12は、上記手法に限らず選択検出点の検出履歴が有るか否かを従来周知の任意の手法を用いて判定して構わない。ECU12は、選択検出点の検出履歴があると判定した場合、処理をステップS203へ進める。一方、ECU12は、選択検出点の検出履歴が無いと判定した場合、処理をステップS210へ進める。
ステップS203において、ECU12は、現在時刻T(n)における選択検出点が外挿点であるか否かを判定する。具体的には、現在時刻T(n)における選択検出点について外挿フラグデータがECU12の記憶装置に記憶されているか否かに基づいて判定する。ECU12は、現在時刻T(n)における選択検出点が外挿点であると判定した場合、処理をステップS204へ進める。一方、ECU12は、選択検出点が直接検出点であると判定した場合、処理をステップS207へ進める。
ステップS204において、ECU12は、過去履歴において選択検出点(以下、履歴点と称する)が外挿点であったか否か判定する。具体的には、ECU12は、選択検出点が前回サンプリング時T(n−1)においても外挿された点であったか否か判定する。より詳細には、ECU12は、前回サンプリング時T(n−1)の選択検出点について外挿フラグデータが記憶されているか否かをECU12の記憶装置を参照して判定する。ECU12は、選択検出点が前回サンプリング時T(n−1)においても外挿点であったと判定した場合、すなわち、時間的に連続して外挿された点であると判定された場合、処理をステップS205へ進める。一方、ECU12は、選択検出点が前回サンプリング時T(n−1)においては直接検出点であったと判定した場合、処理をステップS206へ進める。
ステップS205において、ECU12は、選択検出点の信頼度Rから定数M1を減算する。定数M1は、予め定められた任意の正の定数である。定数M1は、例えば、20に予め設定される。なお、信頼度Rの初期値は、例えば、0などの任意の数値として良い。ECU12は、ステップS205の処理を完了すると、処理をステップS211へ進める。
ステップS206において、ECU12は、信頼度Rから定数M2を減算する。定数M2は、M1より小さな任意の正の定数である。定数M2は、例えば、10に予め設定される。ECU12は、ステップS206の処理を完了すると、処理をステップS211へ進める。
ステップS207において、ECU12は、上述ステップS204と同様にして選択検出点が前回サンプリング時T(n−1)において外挿点であったか否か判定する。ECU12は、選択検出点が前回サンプリング時T(n−1)においては外挿された点であったと判定した場合、処理をステップS208へ進める。一方、ECU12は、選択検出点が前回サンプリング時T(n−1)においても直接検出点であったと判定した場合、処理をステップS209へ進める。
ステップS208において、ECU12は、信頼度Rに定数M2を加算する。ECU12は、ステップS208の処理を完了すると、処理をステップS211へ進める。
ステップS209において、ECU12は、信頼度Rに定数M1を加算する。ECU12は、ステップS209の処理を完了すると、処理をステップS211へ進める。
ステップS210において、ECU12は、信頼度Rに定数M3を加算する。定数M3は、M1より大きな任意の正の定数である。定数M3は、例えば、30に予め設定される。ECU12は、ステップS210の処理を完了すると、処理をステップS211へ進める。
ステップS211において、ECU12は、選択検出点の過去の履歴点を全て選択したか否か判定する。ECU12は、選択検出点の過去の履歴点を全て選択したと判定した場合、処理をステップS213へ進める。一方、ECU12は、選択検出点について未選択の履歴点があると判定した場合、処理をステップS212へ進める。
ステップS212において、ECU12は、選択検出点について未選択の履歴点を選択する。ECU12は、ステップS212の処理を完了すると、処理をステップS204へ戻す。
ステップS213において、ECU12は、信頼度Rの値が信頼度最大値Rmax以上であるか否か判定する。信頼度最大値Rmaxは、信頼度Rがとり得る値の最大値である。信頼度最大値Rmaxは、予め定められた定数である。ECU12は、信頼度Rの値が信頼度最大値Rmax以上であると判定した場合、処理をステップS214へ進める。一方、ECU12は、信頼度Rの値が信頼度最大値Rmaxより小さいと判定した場合、処理をステップS215へ進める。
ステップS214において、ECU12は、信頼度Rの値を信頼度最大値Rmaxと同値に設定する。ECU12は、ステップS214の処理を完了すると、処理をステップS217へ進める。
ステップS215において、信頼度Rの値が信頼度最小値Rmin以下であるか否か判定する。信頼度最小値Rminは、信頼度Rがとり得る値の最小値である。信頼度最小値Rminは、予め定められた定数であり、例えば、0に設定される。ECU12は、信頼度Rの値が信頼度最小値Rmin以下であると判定した場合、処理をステップS216へ進める。一方、ECU12は、信頼度Rの値が信頼度最小値Rminより大きいと判定した場合、処理をステップS217へ進める。
ステップS216において、ECU12は、信頼度Rの値を信頼度最小値Rminと同値に設定する。ECU12は、ステップS216の処理を完了すると、処理をステップS217へ進める。
上記ステップS201からステップS212の処理によれば、自車両100が停止している場合などに、信頼度Rの値が無限に増加或いは減少してしまう場合がある。このように信頼度Rの値が無限に増加或いは減少してしまうと、後述の処理で信頼度Rを用いた閾値判定等において、信頼度Rが走路線を選択する際の指標として機能しなくなるおそれがある。そこで、上記ステップS213からステップS216の処理によって、信頼度Rの値が信頼度最小値Rmin以上、信頼度最大値Rmax以下となるようクランプすることにより、信頼度Rの値を適切に制限し、信頼度Rを走路線を選択する際の指標として有効に機能させることができる。
ステップS217において、ECU12は、選択接続線を構成する全ての検出点を選択検出点として選択したか否か判定する。ECU12は、選択接続線を構成する全ての検出点を選択検出点として選択済みであると判定した場合、処理をステップS218へ進める。一方、ECU12は、選択接続線を構成する検出点を未だ全て選択していないと判定した場合、処理をステップS201へ戻す。
ステップS218において、ECU12は、各検出点の信頼度Rを合算して合計信頼度ΣRを算出する。ECU12は、ステップS218の処理を完了すると、処理をステップS219へ進める。
上記ステップS201からステップS218の処理によれば、ECU12は、死角接続線Ebおよび路側接続線Eaを構成する検出点を順次切り替えつつ、各検出点が外挿点であったか直接検出点であったかに応じて当該死角接続線Ebおよび路側接続線Eaの合計信頼度ΣRの値を増減する。より具体的には、選択検出点が外挿点である場合、直接検出点である場合に比べて合計信頼度ΣRが小さく算出される。また、選択検出点が時間的に連続して外挿されていた場合には、さらに合計信頼度ΣRの値が小さく算出される。
ステップS219において、ECU12は、全ての死角接続線Ebおよび路側接続線Eaについて合計信頼度ΣRを算出完了したか否か判定する。ECU12は、合計信頼度ΣRを算出していない死角接続線Ebおよび路側接続線Eaが存在する場合、処理をステップS200へ戻す。一方、ECU12は、全死角接続線Ebおよび路側接続線Eaの合計信頼度ΣRを算出したと判定した場合、処理を図20のステップS102へ進める。なお、以下の処理では、死角接続線Ebの合計信頼度ΣRを死角線信頼度ΣRSと称し、路側接続線Eaの合計信頼度ΣRを路側線信頼度ΣRLと称する。
上記処理において算出した死角線階層数JSおよび死角線信頼度ΣRSは、何れも値が大きいほど死角接続線が自車走行道路に沿って配置された静止物を示すものである可能性の高いことを示すパラメータである。
図20の説明に戻り、ステップS102において、ECU12は、路側線階層数JLおよび死角線階層数JSを算出する。路側線階層数JLは、路側接続線Eaを構成する検出点の個数である。死角線階層数JSは、死角接続線Ebを構成する検出点の個数である。ECU12は、ステップS102の処理を完了すると、処理をステップS103へ進める。
ステップS103において、ECU12は、死角線階層数JSが死角線階層閾値JSth以上であるか否か判定する。死角線階層閾値JSthは、予め定められた定数であり、例えば6などに設定される。ECU12は、死角線階層数JSが死角線階層閾値JSth以上であると判定した場合、処理をステップS104へ進める。一方、ECU12は、死角線階層数JSが死角線階層閾値JSth未満であると判定した場合、処理をステップS110へ進める。
ステップS104において、ECU12は、死角線信頼度ΣRSが死角線信頼度閾値ΣRSth以上であるか否か判定する。死角線信頼度閾値ΣRSthは、予め定められた定数であり、例えば500である。ECU12は、死角線信頼度ΣRSが死角線信頼度閾値ΣRSth以上であると判定した場合、処理をステップS105へ進める。一方、ECU12は、死角線信頼度ΣRSが死角線信頼度閾値ΣRSth未満であると判定した場合、処理をステップS110へ進める。
ステップS105において、ECU12は、再接続範囲ASSの寸法を算出する。再接続範囲ASSは、路側接続線Eaと死角接続線Ebとを接続するために設定される領域である。具体的には、ECU12は、図22に示すように、路側接続線Eaの終端点(図22においては静止物検出点Pe)を基準として矩形領域を再接続範囲ASSとして設定する。なお、図22は、再接続範囲ASSが設定される様子を示す図である。ECU12は、再接続範囲の縦寸法LySを式(10)に基づいて算出する。また、ECU12は、再接続範囲の横寸法LxSを式(11)に基づいて算出する。
LyS=Lky×δ1×δ2 …(10)
LxS=Lkx×δ1×δ2 …(11)
なお、ECU12は、式(10)および(11)に示す係数δ1の値を、図23に示す第1係数テーブルに基づいて算出する。図23は、係数δ1を算出するための第1係数テーブルを示す図である。第1係数テーブルにおいて、縦行は路側線階層数JLの値に対応し、横列は死角線接続数JSの値に対応し、各行列のセルに示される数値は係数δ1を示す。ECU12は、第1係数テーブルにおいて、接続しようとする路側接続線Eaの路側線階層数JL、および接続しようとする死角接続線Ebの死角線接続数JSに各々対応する行および列を探索し、該当対応する行列に示される値を係数δ1として算出する。
同様に、ECU12は、式(10)および(11)に示す係数δ2の値を、図24に示す第2係数テーブルに基づいて算出する。図24は、係数δ2を算出するための第2係数テーブルを示す図である。第2係数テーブルにおいて、縦行は路側線信頼度ΣRLの値に対応し、横列は死角線信頼度ΣRSの値に対応し、各行列のセルに示される数値は係数δ2を示す。ECU12は、第2係数テーブルにおいて、接続しようとする路側接続線Eaの路側線信頼度ΣRL、および接続しようとする死角接続線Ebの死角線信頼度ΣRSに各々対応する行および列を探索し、該当対応する行列に示される値を係数δ2として算出する。ECU12は、ステップS105の処理を完了すると、処理をステップS106へ進める。
ステップS106において、ECU12は、再接続範囲回転角θSを算出する。再接続範囲回転角θSは、再接続範囲ASSを回転する際に用いる回転量である。ECU12は、例えば、上述ステップS74に示した接続範囲回転角θと同様にして再接続範囲回転角θSを算出する。ECU12は、ステップS106の処理を完了すると、処理をステップS107へ進める。
ステップS107において、ECU12は、上述ステップS75と同様にして再接続範囲ASSを設定する。但し、縦寸法Lyを縦寸法LySに、横寸法Lxを横寸法LxSに、接続範囲回転角θを再接続範囲回転角θSに、各々置き換えるものとする。ECU12は、ステップS107の処理を完了すると、処理をステップS108へ進める。
ステップS108において、ECU12は、再接続範囲ASS内に死角接続線Ebの一部となっている検出点が存在するか否か判定する。ECU12は、再接続範囲ASS内に死角接続線Ebの一部となっている検出点が存在すると判定した場合、処理をステップS109へ進める。一方、ECU12は、再接続範囲ASS内に死角接続線Ebの一部となっている検出点が存在しないと判定した場合、処理をステップS110へ進める。
ステップS109において、ECU12は、路側接続線Eaと死角接続線Ebとを接続して接続線を算出する。路側接続線Eaと死角接続線Ebとが接続される様子を図25に示す。図25は、路側接続線Eaと死角接続線Ebとが接続される様子を示す図である。ECU12は、ステップS109の処理を完了すると、処理を図3のステップS11へ進める。
ステップS110において、ECU12は、路側接続線Eaを接続線として算出する。ECU12は、ステップS110の処理を完了すると、処理を図3のステップS11へ進める。
上記ステップS101からステップS104の処理によれば、死角接続線Ebが自車走行道路に沿って配置された路側静止物を示すものである可能性が高いか否かを死角階層数JSおよび死角線信頼度RSに基づいて容易に判定することができる。そして、上記ステップS10の再接続処理によれば、死角接続線Ebが路側静止物である可能性が極端に低い場合(ステップS103およびステップS104でNo)、死角接続線Ebと路側接続線Eaとを接続しないようにすることによって、道路に沿わない接続線を算出することを防ぐことができる。また、接続階層数や信頼度などに応じて再接続範囲の大きさを変更することによって(ステップS105)、死角接続線Ebが路側静止物である可能性が高いほど、死角接続線Ebと路側接続線Eaとを接続し易くすることができる。
ステップS11において、ECU12は、接続線情報を走路形状として出力する。具体的には、ECU12は、ステップS109またはステップS110において算出した接続線の位置情報を自車走行道路の形状として車両制御装置50へ出力する。ECU12は、ステップS11の処理を完了すると、処理をステップS12へ進める。
ステップS12において、ECU12は、IG電源がオフ状態に設定されたか否か判定する。ECU12は、IG電源がオフ状態に設定されたと判定した場合、処理をステップSエンドへ進める。一方、ECU12は、IG電源がオン状態に維持されていると判定した場合、処理をステップS1へ戻す。
以上に示したように、本発明の実施形態に係る道路形状推定装置によれば、検出点がレーダー装置11の死角領域内に存在するか否かに応じて検出点の接続方法を変更することによって、当該死角領域における道路形状を従来に比して正確に推定することができる。
なお、上記実施形態では、検出点を外挿し、外挿点および直接検出点を相互接続する例について説明したが、上記外挿処理を省略しても構わない。このように外挿処理を省略した場合であっても、死角領域内において検出点を得られる場合があり、このような場合には上記の通り接続範囲を拡大することによって、死角領域内外の検出点を接続し易くすることができる。すなわち、死角領域における道路形状を従来に比して正確に推定することが可能となる。