(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明に係る障害物検知装置の実施形態を図面を参照しながら説明する。
図1は、本発明の障害物検知装置が適用された駐車支援装置1の概略構成を示した図である。その駐車支援装置1は、自車両5(
図2参照)に搭載されている。駐車支援装置1は、測距センサ2と車速センサ12と操舵角センサ13とそれらと接続したECU11とを備えている。
【0011】
測距センサ2は、
図2に示すように、自車両5の左右側面(
図2では左側面51)に搭載されている。測距センサ2は、その側方(自車両5の側方)に存在する駐車車両等の障害物までの距離を検知するセンサである。具体的には、測距センサ2は、ECU11からの指示に基づき、測距センサ2の正面方向(
図2では自車両5の左側方)に所定間隔おきに(例えば100ミリ秒おきに)超音波等の探査波を送信する。測距センサ2は、送信した探査波が障害物に当たって反射した反射波を受信する。そして、測距センサ2は、探査波の送信タイミングと反射波の受信タイミングと探査波の速度(探査波が超音波の場合には音速)とに基づき、障害物までの距離を算出する。測距センサ2で検知された検知情報(検知距離)はECU11に入力される。なお、検知距離の算出はECU11が行っても良い。
【0012】
測距センサ2の検知範囲21(
図2参照)の指向性φ(探査波の指向性)は例えば70°〜120°程度となっている。また、測距センサ2が検知可能な最大検知距離は例えば4m〜10m程度となっている。測距センサ2は、探査波を送信しその探査波の反射波を受信するセンサであれば良く、音波を用いるものであっても、光波を用いるものであっても、電波を用いるものであっても良い。測距センサ2としては、例えば超音波センサ、レーザレーダ、ミリ波レーダ等のセンサを用いることができる。
【0013】
図1の説明に戻り、車速センサ12は自車両5の車速を検知するセンサである。操舵角センサ13は、自車両5が直進移動するときのステアリングの位置を中立位置(0度)として、その中立位置からのステアリングの回転角度を操舵角として出力するセンサである。車速センサ12、操舵角センサ13で検知された検知情報(車速、操舵角)はECU11に入力される。
【0014】
ECU11は、CPU、ROM、RAM等から構成されたマイコンを主体として構成されている。ECU11は、測距センサ2、車速センサ12、操舵角センサ13から入力された各検知情報に基づき、自車両5の周囲(側方)に存在する駐車空間への駐車支援をする処理を実行する。また、ECU11は、自身が実行する処理に必要な各種情報を記憶するROM、RAM等のメモリ111を備えている。
【0015】
以下、ECU11が実行する処理の詳細を説明する。先ず、ECU11による駐車空間検知の基本的な手順を説明する。
図3はその手順を示したフローチャートである。また、
図2は、
図3の処理が実行される想定場面を例示した図であり、詳細には、駐車空間7を間に挟んで配置された2台の駐車車両61、62の側方を自車両5が移動している場面を示している。また、駐車空間7内には縁石等の障害物81が配置されている。
【0016】
図3の処理は、例えば、車室内に設けられた支援スイッチ(図示外)が自車両5のドライバーによりオンされた時に開始しても良いし、自車両5の低速時にバックグランドで常時実行しても良い。
図3の処理を開始すると、ECU11は、測距センサ2に逐次距離検知を行わせる(S11)。また、車速センサ12、操舵角センサ13の検知情報に基づき、測距センサ2が距離検知を行う時のその測距センサ2の位置(センサ位置)を算出する(S12)。このとき、車速と前回の距離検知からの経過時間とから、前回のセンサ位置からの測距センサ2の移動距離を算出できる。また、操舵角から、前回の距離検知からの測距センサ2の移動方向を算出できる。それら移動距離、移動方向と前回の距離検知時のセンサ位置とから、今回の距離検知時のセンサ位置を算出できる。S11、S12で検知された検知距離、センサ位置はメモリ111に蓄積する。
【0017】
図2には、S11で検知された検知距離の履歴、言い換えると、S12で検知されたセンサ位置から測距センサ2の正面方向に検知距離だけ離れた点9(測距点)を図示している。
図2に示すように、測距点9の点列は、1台目の駐車車両61に対する測距点901と、駐車空間7内の障害物81に対する測距点903と、2台目の駐車車両62に対する測距点902とを含む。なお、測距センサ2の検知範囲21(
図2参照)はある程度の指向性を有しているので、自車両5(厳密には測距センサ2)が障害物の正面領域に進入する少し前からその障害物に対する距離検知が開始され、その正面領域を通過した後もしばらくの間は距離検知が続く。そのために、
図2の測距点901の点列の幅は、駐車車両61の幅よりも広くなっている。
【0018】
次に、検知距離の誤差による影響を低減するために、メモリ111に蓄積された検知距離の履歴を2次関数等で曲線近似する(S13)。
図2の例では、測距点9の点列を曲線近似する。
図2には、測距点901の点列の近似曲線301を図示している。
【0019】
次に、S13の曲線近似で平滑化した検知距離及びセンサ位置の履歴に基づいて、測距センサ2からの探査波が当たる障害物上の点、つまり障害物の輪郭点を反射点として算出する(S14)。ここで、
図4は、反射点の算出方法を説明する図であり、自車両5が駐車車両6のそばを通過している場面を示している。
図4には、ある時点におけるセンサ位置SenPos(n)及び検知距離L(n)と、一つ前の時点におけるセンサ位置SenPos(n−1)及び検知距離L(n−1)とで構成された三角形700を図示している。S14では、隣り合う2つの時点では、探査波は障害物の同一点で反射するとの仮定のもと、
図4の三角形700の頂点4の位置を反射点の位置として算出する。つまり、三角測量の原理を利用して反射点を算出する。
図2には、S14で算出された1台目の駐車車両61に対する反射点4の点列を図示している。その反射点4の点列は駐車車両61の輪郭上に検知される。
【0020】
次に、S14で算出した反射点の点列に基づいて、駐車空間に隣接する障害物のコーナーを検知する(S15)。
図2の例では、反射点4の点列に基づいて1台目の駐車車両61のコーナー611を検知し、2台目の駐車車両62に対する反射点(図示外)に基づいてその駐車車両62のコーナー621を検知する。具体的には例えば、
図2に示すように、駐車空間7の左右方向に対応したX軸、奥行き方向に対応したY軸を有した座標系を設定する。そして、反射点4の点列の中で最も駐車空間7寄り、つまり最もX座標が大きい反射点のX座標を、コーナー611のX座標とする。また、反射点4の点列の中で最も側方通路寄り、つまり最もY座標が小さい反射点のY座標を、コーナー611のY座標とする。2台目の駐車車両62のコーナー621も同様にして算出する。
【0021】
次に、S15で検知したコーナー611、621間を駐車空間7として設定する(S16)。その後、
図3の処理を終了する。その後、ECU11は、検知した駐車空間7の幅と自車両5の車幅とに基づいて、その駐車空間7に駐車できるか否かを判断する。そして、ECU11は、駐車できると判断した場合には、駐車空間7と自車両5との位置関係に基づいて、自車両5が駐車空間7へ移動するための経路を算出する。その後、ECU11は、ステアリングモータ、エンジンを制御して、その経路にしたがって自車両5を駐車空間7まで移動させ、駐車を完了させる。
【0022】
以上で説明したように、駐車空間を検知するためには、
図3のS13で検知距離の履歴を曲線近似する必要がある。このとき、
図2の場面のように、異なる障害物が配置されている場合には、各障害物ごとに検知距離の履歴を区別して(グルーピングして)曲線近似をする必要がある。
図2の例では、測距点901の点列と、測距点902の点列と、測距点903の点列とをグルーピングして、グルーピングした点列ごとに曲線近似をする必要がある。異なる障害物の検知距離の点が混在すると、近似曲線の精度が低下し、その結果、反射点やコーナーの検知精度が低下するためである。
【0023】
通常、障害物の切れ目では検知距離が大きく変動する。言い換えると、障害物の切れ目では検知距離の差分が大きくなる。したがって、検知距離の差分が大きくなる位置を境にして、検知距離のグルーピングを行う手法が考えられる。ところが、測距センサ2は、例えば路面に対して距離検知を行ってしまうこともある。この場合には、検知距離の点列にノイズの点が含まれることになり、そのノイズの点の位置で検知距離が大きく変動してしまう。ここで、
図5は、距離差分が大きい検知距離の点91(距離差分大点)を含んだ検知距離の点列9(検知距離の時系列データ)を例示している。検知距離の点列9に距離差分大点91が含まれている場合には、その距離差分大点91がノイズなのか障害物の切れ目なのかを判断する必要がある。そうしないと、単一の障害物にもかかわらず距離差分大点91より手前の検知距離の点列92と後の点列93とをグルーピングしてしまったり、異なる障害物であるにもかかわらずそれら点列92、93を一つのグループとしてしまったりするためである。
【0024】
一方、場面によっては、障害物の切れ目にもかかわらず距離差分が大きくならない場合もある。
図6は、障害物の切れ目にもかかわらず距離差分が小さい場面を例示している。詳細には、
図6は、駐車車両63に隣接し、駐車車両63の前面(距離検知が行われる面)から奥行き方向にオフセットした位置に柱82が配置された場面を示している。
図6の場面では、駐車車両63と柱82との切れ目にもかかわらず、駐車車両63に対する検知距離の点列94と、柱82に対する検知距離の点列95とが連続しているように検知される。つまり、点列94の端点941と、点列95の端点951との差分が小さくなっている。このような場合にも、それら点列94、95を区別してグルーピングする必要がある。
【0025】
さらに、場面によっては、障害物がオフセットした位置に配置されていなくても、距離差分が大きくならない場合もある。
図7は、その場面を例示した図であり、詳細には、隣接して2台の駐車車両63、64がオフセットしないで配置された場面を示している。
図7の場面では、駐車車両63、64の切れ目にもかかわらず、左側の駐車車両63に対する検知距離の点列971と右側の駐車車両64に対する検知距離の点列972とが連続しているように検知される。つまり、点列971の端点973と点列972の端点974との差分が小さくなっている。このような場合にも、それら点列971、972を区別してグルーピングする必要がある。
【0026】
そこで、ECU11は、
図5や
図6や
図7の場合にも対応できる、検知距離を障害物ごとにグルーピングする処理(グルーピング処理)を実行している。以下、そのグルーピング処理の詳細を説明する。
図8はグルーピング処理のフローチャートを示している。
図8の処理は、例えば、車室内に設けられた支援スイッチ(図示外)が自車両5のドライバーによりオンされた時に開始し、
図3の処理と並列して実行される。ECU11は、
図8の処理中、後述するS31で距離検知時間tを更新する度に、言い換えると、所定の距離検知間隔dtが経過する度に、測距センサ2で距離検知を行わせている。
【0027】
図8の処理を開始すると、先ず、測距センサ2が検知した検知距離および
図3のS12で算出されるセンサ位置を互いに関連付けてメモリ111(
図1参照)に記憶する(S21)。次に、メモリ111に記憶された検知距離の点列(履歴)から距離差分が大きい検知距離の点である距離差分大点の有無を判定する(S22)。具体的には、検知距離の点列の中で、隣りの点の検知距離との差分が所定量以上となる検知距離の点を距離差分大点として、その距離差分大点の有無を判定する。
図5の例では、2つの点91が、隣りの検知距離の点921、931との間で差分が所定量以上となっているとして、距離差分大点が有ると判定される。他方、
図6、
図7の例では、距離差分大点は無いと判定される。
【0028】
距離差分大点が有る場合には(差分:大)、S23に移行し、距離差分大点がノイズなのか障害物の切れ目なのかを判定する。単一の障害物から検知された検知距離の点列は各点間で連続性を有している。これに対し、複数の障害物から検知された検知距離の点列では、一の障害物から検知された検知距離の点列の変動傾向(連続性)と、他の障害物から検知された検知距離の点列の変動傾向(連続性)とに差異が生じる。そこで、S23では、距離差分大点より手前の検知距離の点列と、後の検知距離の点列との間で連続性が有るか否かに基づいて、距離差分大点がノイズなのか障害物の切れ目なのかを判定する。
図9は、S23の詳細のフローチャートである。
図9の処理を、
図5の検知距離の点列に適用した場合を例に挙げて、説明する。
【0029】
図9の処理に移行すると、先ず、距離差分大点91より手前の検知距離の点(前距離点)の点列92との間で連続性が成立したとしたならば、距離差分大点91より後の検知距離の点93(後距離点)が存在すると想定される想定範囲を、点列92の連続性(変動傾向)に基づいて設定する(S41)。別の言い方をすると、後距離点93の領域に対して、前距離点の点列92との間で連続性が成立する範囲を想定範囲として設定する(S41)。また、S41では、前距離点の点列92のうち、距離差分大点91の直前の一定区間(
図5では3点の区間)の点列に基づいて、想定範囲を設定する。本実施形態では、S41の想定範囲及び後述するS42の想定範囲の設定方法として2つの実施例を説明する。
図10は、S41の詳細のフローチャートであり、実施例1に係る想定範囲の設定手順を示している。
【0030】
図10に処理に移行すると、先ず、前距離点の点列92の区間における検知距離の増加傾向を示したライン(増分ライン)を、後距離点93の領域に設定する(S51)。
図11は、
図10の各処理を説明するための図であり、
図5と同じ検知距離の点列を示している。
図11の例では、点列92を構成する3つの点は時間の経過にともない検知距離が増加する傾向となっている。S51では、例えば、点列92の中で最小の検知距離の点922と最大の検知距離の点921との差分B(増加分)を算出する。そして、点列92以外の区間では、時間の経過とともに最大で点列92の区間長A当たり増加分Bの割合で検知距離が線形に増加すると仮定して、それら点921、922を結んだライン411を増分ラインとして設定する。別の言い方をすると、傾きB/Aの点921を通るライン411を増分ラインとして設定する。
【0031】
なお、
図11の例では、時間の経過とともに点列92の検知距離が増加しているが、
図12に示すように、時間の経過とともに点列92の検知距離が減少する場合もある。この場合には、例えば、点列92より後の区間では、点列92の端点9aでの検知距離以下となると仮定して、その端点9aを通る水平ライン413をS51の増分ラインとして設定する。別の言い方をすると、
図12の点列92では増加分がゼロとなっているので、傾きがゼロの点9aを通るライン413を増分ラインとして設定する。
【0032】
また、
図13に示すように、時間の経過とともに、検知距離が減少したり増加したりする場合もある。
図13の例では、時間の経過とともに、検知距離が減少し(点9b>点9c)、その後、検知距離が増加している(点9c<点9d)。区間A全体としては、検知距離は減少している(点9b>点9d)。この場合には、例えば、点列92より後の区間では、区間長A当たり、点9cと点9dの間の検知距離の増加分Cの割合で検知距離が線形に増加すると仮定して、点9dを通る傾きC/Aのライン414を増分ラインとして設定する。なお、
図11、
図12、
図13の例では、点列92の区間が3点の区間となっているが、それ以上の点を有した区間A‘の場合には、その区間A‘での検知距離の最小値と、区間A‘の端点(
図11の例では点921)の検知距離の値との差分B‘を増加分として算出する。そして、傾きB‘/A‘の端点を通るラインを増分ラインとして設定すれば良い。
【0033】
図10の説明に戻り、次に、前距離点の点列92の区間における検知距離の減少傾向を示したライン(減分ライン)を、後距離点93の領域に設定する(S52)。
図11の例では、時間の経過とともに点列92の検知距離は増加しており、減少量がゼロとなっている。この場合には、例えば点列92より後の区間では、点列92の端点921での検知距離以上となると仮定して、その端点921を通る水平ライン412を減分ラインとして設定する(S52)。
【0034】
また、
図12の例では、時間の経過とともに検知距離は減少しているので、例えば、点列92の両端点間を結ぶライン415を減分ラインとして設定する。また、
図13の例では、区間A全体では、点9bでの検知距離と点9dでの検知距離の差分Dだけ減少しているので、S52では、例えば点9dを通る傾き(−D/A)のライン416を減分ラインとして設定する。なお、3点以上の点を有した区間A‘の場合には、例えば、その区間A‘での検知距離の最大値と、区間A‘の端点の検知距離の値との差分D‘を減少分として算出する。そして、傾き−D‘/A‘の端点を通るラインを減分ラインとして設定すれば良い。
【0035】
S51で設定した増分ライン、S52で設定した減分ラインは、前距離点の点列92との間で連続性が成立する限界ラインであると仮定する。そして、それら増分ライン、減分ライン間の範囲410(
図11参照)を後距離点93の想定範囲として設定する(S53)。この想定範囲410は、点列92との間で連続性が成立する第1の連続性範囲である。なお、
図11の増分ライン411は、前距離点の点列92との間で連続性が成立する検知距離の上限値を与えるラインである。減分ライン412は、前距離点の点列92との間で連続性が成立する検知距離の下限値を与えるラインである。また、S53では、範囲410に所定の余裕度を持たせて想定範囲を設定しても良く、具体的には、範囲410から上下に所定量d1(
図11参照)だけ広げた範囲を想定範囲として設定しても良い。これにより、障害物の切れ目が無いにもかかわらず、点列92との間で不連続と判定されてしまうのを防止できる。S53の後、
図10のフローチャートの処理を終了して、
図9の処理に戻る。
【0036】
図9の処理に戻ると、次に、後距離点の点列93との間で連続性が成立したとしたならば、前距離点92が存在すると想定される想定範囲を、点列93の連続性(変動傾向)に基づいて設定する(S42)。別の言い方をすると、前距離点92の領域に対して、後距離点の点列93との間で連続性が成立する範囲を想定範囲として設定する(S42)。また、S42では、後距離点の点列93のうち、距離差分大点91直後の一定区間(
図5では3点の区間)の点列に基づいて、想定範囲を設定する。
【0037】
S42では、S41と同様に、つまり
図10のフローチャートの処理にしたがって、想定範囲を設定する。
図14は、S42の処理に対する
図10の各処理を説明するための図であり、
図5と同じ検知距離の点列を示している。
図10の処理に移行すると、先ず、後距離点の点列93の区間における検知距離の増加傾向を示したライン(増分ライン)を、前距離点92の領域に設定する(S51)。具体的には、S41の処理での増分ラインと同様にして、増分ラインを設定する。すなわち、
図14の例では、時間の経過にともない点列93の検知距離が増加する傾向となっているので、S51では、例えば、点列93の中で検知距離の最小値と最大値の差分F(増加分)を算出する。そして、点列93以外の区間では、点列93の区間長E当たりに増加分Fの割合で検知距離が線形に変化すると仮定して、距離差分大点91に隣接する点列93の端点931を通る傾きF/Eのライン(直線)421を増分ラインとして設定する。なお、点列93の変動傾向が
図12、
図13の変動傾向と同様の場合には、
図12、
図13で説明ように、増分ラインを設定すれば良い。
【0038】
なお、
図14の増分ライン421は、点列93より前の区間、つまり前距離点92の区間に対しては、点列93との間で連続性が成立する検知距離の下限値を与えるラインとなる。
【0039】
次に、後距離点の点列93の区間における検知距離の減少傾向を示したライン(減分ライン)を、前距離点92の領域に設定する(S52)。
図14の例では、時間の経過とともに点列93の検知距離は増加しており、減少量がゼロとなっている。この場合には、例えば、点列93より前の区間では、点列93の端点931での検知距離以下となると仮定して、その端点931を通る水平ライン422を減分ラインとして設定する(S52)。なお、減分ライン422は、前距離点92の区間に対しては、点列93との間で連続性が成立する検知距離の上限値を与えるラインとなる。
【0040】
次に、増分ライン421と減分ライン422の間の範囲420を前距離点の想定範囲(点列93との間で連続性が成立する第2の連続性範囲)として設定する。また、S41と同様に、範囲420に所定の余裕度を持たせて想定範囲を設定しても良く、具体的には、範囲420から上下に所定量だけ広げた範囲を想定範囲として設定しても良い。
【0041】
なお、S41の処理とS42の処理はどちらを先に実行しても良い。
図9の処理に戻ると、次に、距離差分大点91に隣接する後距離点931(後距離点の点列93の端点)がS41で設定した想定範囲410(
図11参照)に含まれているか否かを判断する(S43)。含まれていなければ(S43:No)、前距離点の点列との間で後距離点が連続性を有しない、つまり不連続であると判定する(S46)。その後、
図9の処理を終了する。
図11の例では、後距離点931は、想定範囲410に含まれていると判断される。なお、点列93のうち端点931以外の点に対しては、想定範囲410に含まれているか否かの判断は行わない。前距離点の点列92から離れるほど、S41で設定した増分ライン411、減分ライン412の精度が低下するので、連続、不連続の誤判定を防止するためである。
【0042】
後距離点931が想定範囲410に含まれている場合には(S43:Yes)、距離差分大点91に隣接する前距離点921(前距離点の点列92の端点)が想定範囲420(
図14参照)に含まれているか否かを判断する(S44)。
図14の例では、前距離点921は想定範囲420に含まれていないと判断される。この場合には(S44:No)、後距離点の点列93との間で前距離点921が連続性を有しない、つまり不連続であると判定する(S46)。その後、
図9の処理を終了する。
【0043】
一方、前距離点が想定範囲に含まれている場合には(S44:Yes)、後距離点の点列との間で前距離点が連続性を有すると判定する(S45)。その後、
図9のフローチャートの処理を終了する。このように、
図9では、後距離点が想定範囲に含まれ、かつ、前距離点が想定範囲に含まれている場合に、前距離点の点列と後距離点の点列との間で連続性を有すると判定され、それ以外では不連続と判定されることになる。結局、
図5の例では、点列92と点列93との間に連続性が無い(不連続)と判定される。
【0044】
ここで、
図15は、
図5の点列と変動傾向が類似しているが、
図5の点列とは異なる検知距離の点列を示している。
図15では、後距離点の点列93の増加傾向が
図5と若干異なっており、それ以外は
図5と同じ変動傾向となっている。この
図15の点列に対して、
図9の処理を適用した例を説明する。
図16は、
図15の点列に対して
図9のS41の処理(
図10の処理)を適用した例を示している。
図16に示すように、S41では、
図10のS51で設定された増分ライン431と、S52で設定された減分ライン432の間の範囲430が後距離点931の想定範囲として設定される。
【0045】
図17は、
図15の点列に対して
図9のS42の処理(
図10の処理)を適用した例を示している。
図17に示すように、S42では、
図10のS51で設定された増分ライン441と、S52で設定された減分ライン442の間の範囲440が前距離点921の想定範囲として設定される。
【0046】
そして、後距離点931は想定範囲430に含まれ(
図16参照)、かつ、前距離点921も想定範囲440に含まれている(
図17参照)。よって、
図15の例では、点列92、93間で連続性が有ると判定されることになる。このように、
図9、
図10の処理により、検知距離の点列の細かい変動傾向を見極めた上で、連続、不連続を判定することができる。
【0047】
次に、
図9のS41、S42での想定範囲の設定方法の実施例2を説明する。
図18は、S41、S42の詳細のフローチャートであり、実施例2に係る想定範囲の設定手順を示している。また、
図19は、
図18の処理を説明するための図であり、先に説明した
図5、
図15と同様の変動傾向を有した検知距離の点列を示している。
図19の点列は、2つの距離差分大点91と、その距離差分大点91より手前の前距離点の点列92と、距離差分大点91より後の後距離点の点列93とを有している。点列92は、距離差分大点91の直前の一定区間(
図19では3点の区間)の点列である。点列93は、距離差分大点91の直後の一定区間(
図19では3点の区間)の点列である。
【0048】
S41で
図18の処理に移行すると、先ず、後距離点93の領域に対して、前距離点の点列92との間で連続性が成立する検知距離の推定値を与える1本のライン451(後距離点93の推定ライン)を、点列92の変動傾向に基づいて設定する(S61)。具体的には、例えば、点列92の区間以外の区間では、点列92の区間と同様の傾向で線形に検知距離が変動すると仮定する。そして、例えば、点列92の両端点921、922を結ぶ直線451を、後距離点93の推定ラインとして設定する。または、点列92の全ての点を用いて直線近似を行い、得られた近似直線を推定ラインとして設定しても良い。
【0049】
次に、推定ライン451から所定距離以内の範囲を、後距離点93の想定範囲として設定する(S62)。具体的には、後距離点の点列93の端点931の位置(時間)での推定ライン451上の点452から上下に所定量d2以下となる範囲450を、後距離点931の想定範囲として設定する(S62)。その後、
図18の処理を終了する。
【0050】
また、S42で
図18の処理に移行すると、先ず、前距離点92の領域に対して、後距離点の点列93との間で連続性が成立する検知距離の推定値を与える1本のライン461(前距離点92の推定ライン)を、点列93の変動傾向に基づいて設定する(S61)。具体的には、上述したように、点列93の両端点931、932を結ぶ直線や、点列93を直線近似して得られた近似直線を推定ライン461として設定する。
【0051】
次に、前距離点の点列92の端点921の位置(時間)での推定ライン461上の点462から上下に所定量d2以下となる範囲460を、前距離点921の想定範囲として設定する(S62)。その後、
図18の処理を終了する。
【0052】
その後、先に説明した
図9のS43〜S46の処理で、前距離点の点列92と、後距離点の点列93との間の連続性の有無が判定される。
図19の例では、後距離点931が想定範囲450に含まれ、かつ、前距離点921が想定範囲460に含まれているので、連続と判定されることになる(S45)。
【0053】
図8の処理に戻ると、次に、S23の判定が連続性有りの判定か否かを判断する(S24)。連続性有りの場合(
図9のS45で連続と判定した場合)には(S24:Yes)、距離差分大点の位置では障害物の切れ目となっておらず、距離差分大点はノイズであるとしてそのノイズを処理する(S25)。先に説明した
図15の点列が、障害物の切れ目無しであり、S25でノイズ処理の対象となる点列である。
【0054】
ここで、
図20は、S25によるノイズ処理の方法を説明する図であり、
図15の点列と同じ点列を示している。
図20を参照してS25の詳細を説明すると、S25では先ず、距離差分大点91の区間を、距離差分大点91の一つ前の検知距離の点921(前距離点の点列92の端点)と、一つ後の検知距離の点931(後距離点の点列93の端点)とを用いて線形補間する。具体的には、それら点921、931間を結ぶ直線100を線形補間のラインとして設定する。次に、その線形補間のライン100上にくるように、距離差分大点91を補正する。このとき、例えば、距離差分大点91が検知された時間を保持する形で、つまり
図20の例では距離差分大点91を真下又は真上に降ろす形で、距離差分大点91の補正を行う。
図20には、補正後の点911を示している。これによって、検知距離の点数を減らすことなく、検知距離の点列からノイズを除去することができる。
【0055】
また、S25では、距離差分大点91の補正に代えて、距離差分大点91を無効化(除去)しても良い。これによれば、
図20のように線形補間や補正を行う必要がないので、簡単にノイズを除去できる。
【0056】
S25でノイズを処理した後、次に、例えば支援スイッチ(図示外)がオフにされたか、並列に実行されている
図3の処理にて駐車空間の設定が完了したか等、
図8の処理の終了条件が成立したか否かを判断する(S30)。終了条件が成立していない場合には(S30:No)、距離検知の時間を次の時間(t=t+dt)に更新する(S31)。そして、S21に戻って、更新後の時間で、S21以下の処理を実行する。終了条件を満たした場合、つまり、支援スイッチがオフにされた場合や駐車空間の設定が完了した場合などには(S30:Yes)、
図8の処理を終了する。
【0057】
一方、S24において、連続性無しの場合(
図9のS46で不連続と判定した場合)には(S24:No)、距離差分大点の位置で障害物の切れ目となっているとして、距離差分大点を境にして検知距離のグルーピングを行う(S26)。具体的には、距離差分大点より手前の検知距離の履歴(点列)を一の障害物のグループとし、距離差分大点より後の検知距離の履歴(点列)を他の障害物のグループとする。先に説明した
図5の点列が、障害物の切れ目有りであり、S26でグルーピングの対象となる点列である。
図5の例では、前距離点の点列92が一つのグループとなり、後距離点の点列93が一つのグループとなる。なお、距離差分大点91は、どちらのグループにも属さない点(ノイズ)となる。
【0058】
その後、
図8の処理の終了条件が成立したか否かを判断し(S30)、成立していない場合には(S30:No)、時間を更新して(S31)、上述の処理を繰り返す。終了条件が成立した場合には(S30:Yes)、
図8の処理を終了する。そして、
図8の処理を終了した後の
図13のS13では、
図8の処理でグルーピングされた検知距離の履歴ごとに曲線近似が行われる。
【0059】
一方、S22において、検知距離の点列に距離差分大点が無い場合には(差分:小)、S27に移行する。この場合には、単一の障害物の距離検知が続いている場面(障害物の切れ目なしの場面)、
図6の場面、又は
図7の場面であると考えられる。S27では、それら場面を区別しつつ、障害物の切れ目の有無を判定している。具体的には、
図6や
図7のように、2つの障害物が隣接して配置されている場合には、障害物の切れ目の位置で検知距離の点列の変動傾向が変化する。
図6の場面において、駐車車両63、柱82の順に距離検知が行われるとすると、自車両が駐車車両63の正面を超えた後もしばらくの間は駐車車両63に対する距離検知が続く。その間の検知距離の点列940では、時間の経過とともに、言い換えると自車両が柱82側に進行するにしたがって、検知距離の値が大きくなっていく。つまり、点列940は、駐車車両63のコーナー631から柱82の前面821に向かう斜め方向に変動する。
【0060】
その後、駐車車両63に対する距離検知が終了すると、直ぐに、柱82に対する距離検知が開始する。柱82に対する距離検知が開始すると、最初は、柱82の前面821に沿って検知距離の点が検知される。その後、自車両が柱82の正面を超えると、しばらくの間は距離検知が続き、その間の検知距離の値は、自車両が柱82から離れるにしたがい次第に大きくなっていく。
【0061】
このように、駐車車両63と柱82との境目(障害物の切れ目)では、点列940の変動傾向(斜め方向に推移する傾向)と、柱82に対する点列95の変動傾向(前面821に沿った方向に推移する傾向)とに差異が生じる。その差異が生じる位置の検知距離の点951は、検知距離の点列の変曲点となる。
【0062】
図7の場面でも検知距離の点列に変曲点973が生じるが、その変曲点973付近の点列の変動傾向(点列の形状)は、
図6の場面とは異なっている。すなわち、
図7の場面では、左側の駐車車両63、右側の駐車車両64の順で距離検知が行われるとすると、自車両が駐車車両63の正面を超えた後もしばらくの間は駐車車両63に対する距離検知が続く。その間の検知距離の値は、自車両が駐車車両63から離れるにしたがい次第に大きくなっていく。その後、左側の駐車車両63に対する距離検知が終了すると、直ぐに右側の駐車車両64に対する距離検知が開始する。右側の駐車車両64に対する距離検知が開始すると、自車両が駐車車両64の正面にくるまでは、自車両が駐車車両64に近づくにしたがい次第に検知距離の値が小さくなる。その後、自車両が駐車車両64の正面にきたときには、駐車車両64の前面に沿って検知距離の点が検知される。
【0063】
このように、左側の駐車車両63と右側の駐車車両64の境目(障害物の切れ目)では、駐車車両63に対する検知距離の点列と、駐車車両64に対する検知距離の点列とでV字状の点列が構成される。そのV字の頂点の点973が変曲点となる。
【0064】
このように、
図6、
図7の場面ではともに障害物の切れ目の位置で検知距離の点列に変曲点が生じる。また、
図6の場面と、
図7の場面とでは、上記したように変曲点のパターン、言い換えると変曲点周辺の点列の形状が異なっている。そこで、S27では、
図6の場面に対応した変曲点を検知する処理(
図21の処理)と、
図7の場面に対応した変曲点を検知する処理(
図26の処理)とを並列して実行する。先ず、
図6の場面での変曲点の検知方法を説明する。
【0065】
図21は、S27の詳細のフローチャートであり、隣接してオフセット障害物が配置された場面(
図6の場面)での変曲点を検知する処理のフローチャートである。
図22は、
図21の処理を説明するための図であり、
図6と同じ場面の図である。
図21の処理に移行すると、先ず、検知距離の点列に対して、変曲点を探索するための枠500(探索区間)を設定する(S81)。その枠500内から変曲点が探索される。
図22に示すように、点列が推移する方向に対応した方向にX軸、そのX軸に直角にY軸を設定したとして、枠500は、X軸方向(左右方向)に所定幅W1(例えば1m〜2m程度)を有した枠である。なお、枠500の奥行き方向(Y軸方向)の幅は、左右幅W1内に含まれる検知距離の点が全て枠500内に入るように、十分長い有限長又は無限長に設定されている。また、検知距離の点列のどの区間に枠500を設定するかは、例えば最新の検知距離の点が枠500内の端に位置するように、枠500の設定位置を決める。
【0066】
なお、X軸、Y軸は、例えば
図8の処理開始時に設定し、具体的には例えば処理開始時における自車位置を原点、自車両の進行方向にX軸、そのX軸に直角な方向にY軸を有した座標系を設定する。
【0067】
次に、枠500内で検知距離の最大値と最小値の差分ΔL1を算出する(S82)。
図22の例では、枠500内の右端の点962が検知距離の最大値であり、左端の点961の検知距離の最小値であるとして、それら点961、962の検知距離の差分ΔL1が算出される。
【0068】
次に、差分ΔL1が所定の閾値TH1以上か否かを判断する(S83)。閾値TH1未満の場合には(S83:No)、枠500内の点列には奥行き方向(Y軸方向)にオフセットした部分が無いとして、
図21の処理を終了する。このS83の判断により、
図23に例示する点列9、つまり枠500内で奥行き方向にほとんど変動していない(差分ΔL1が小さい)点列9に対して変曲点有りと誤判定してしまうのを防止できる。
【0069】
差分ΔL1が閾値TH1以上の場合には(S83:Yes)、検知距離の最大値との差分が所定量以下となる検知距離の範囲を枠500内に設定する(S84)。具体的には、
図22に示すように、最大の検知距離の点(距離最大点)962からY軸方向に一定量(例えば10cm程度)の位置501aと、距離最大点962からY軸方向と反対方向(手前)に一定量(例えば10cm程度)の位置501bとの間の範囲501を設定する(S84)。以下、その範囲501を枠内範囲という。このとき、枠内範囲501の幅、つまり上記一定量を大きすぎないようにする。大きすぎると、奥行き方向に変動する検知距離の点も枠内範囲501に含まれてしまい、オフセット障害物(柱82)の点列傾向の有無を正確に判定できないためである。
【0070】
次に、枠内範囲501に含まれた点列963の幅W2を算出する(S85)。具体的には、点列963の両端点951、962を検知した時のセンサ位置をそれぞれメモリ111から読み出し、読み出した2つのセンサ位置の差分を点列963の幅W2として算出する。
【0071】
次に、点列幅W2が所定の閾値TH2以上か否かを判断する(S86)。閾値TH2未満の場合には(S86:No)、オフセット障害物が配置された場面ではないとして、
図21の処理を終了する。このS86の判断により、
図24に例示する場面、つまり駐車車両63のみが配置された場面を除外できる。つまり、
図24の例では、枠内範囲501に含まれる点列963の幅W2が小さいので、S86以降の処理は実行されないことになる。
【0072】
点列幅W2が閾値TH2以上の場合には(S86:Yes)、次に、枠500内の点列のいずれかの端点が枠内範囲501に含まれているか否かを判断する(S87)。
図22の例では、枠500内での右側の端点962が枠内範囲501に含まれている。なお、この端点962は、枠500内で検知距離が最大の距離最大点でもある。端点が枠内範囲501に含まれていない場合には(S87:No)、オフセット障害物が配置された場面ではないとして、
図21の処理を終了する。このS87の判断により、
図25に例示する場面、つまり2台の駐車車両63、64がオフセット無しで配置された場面を除外できる。
図25の例では、枠内範囲501に含まれた点列の幅W2が仮に閾値TH2以上であったとしても、枠500内の両端点964がともに枠内範囲501外となっているため、S87以降の処理は実行されないことになる。なお、
図25の場面での変曲点は後述する
図26の処理で検知される。
【0073】
いずれかの端点が枠内範囲501に含まれている場合には(S87:Yes)、枠500内にオフセット障害物に係る変曲点が有ると判定する(S88)。そして、例えば枠内範囲501に含まれた点列963の端点951(距離最大点961側の端点)を変曲点とする(S88)。その後、
図21の処理を終了する。
【0074】
なお、S21の処理は、
図3のS31で時間が更新される度に、距離差分大点が無いことを条件として繰り返し実行される。そして、枠500の設定は例えば最新の検知距離の点を基準として設定される。そのため、枠500は、時間の経過とともにX軸方向にスライドしていくことになる。
【0075】
次に、
図7の場面での変曲点の検知方法を説明する。
図26は、S27の詳細のフローチャートであり、
図7の場面での変曲点、つまり2台の駐車車両63、64がオフセットしないで配置された場面での変曲点を検知する処理のフローチャートである。
図27は、
図26の処理を説明するための図であり、
図7と同じ場面の図である。
図26の処理に移行すると、先ず、検知距離の点列に対して、先のS81で設定した枠と同様に、左右方向に所定幅W3(例えば1m〜2m程度)を有した枠600(探索区間)を設定する(S91)。その枠600は、例えば最新の検知距離の点が枠600内の端に位置するように、設定される。
【0076】
次に、枠600内で検知距離の最大値の点PosMax(距離最大点)の値Lmaxと、枠600内の点列の一方の端点Edge1(以下、第1の端点という)の値Ledge1との差分(Lmax−Ledge1)を算出する(S92)。
図27の例では、点973の検知距離と、点975の検知距離との差分が算出される。
【0077】
次に、距離最大点PosMaxの値Lmaxと、枠600内の点列のもう一方の端点Edge2(以下、第2の端点という)の値Ledge2との差分(Lmax−Ledge2)を算出する(S93)。
図27の例では、点973の検知距離と、点976の検知距離の差分が算出される。
【0078】
次に、距離最大点PosMaxと第1の端点Edge1の間の点列幅W4を算出する(S94)。具体的には、距離最大点PosMaxを検知した時のセンサ位置と、第1の端点Edge1を検知した時のセンサ位置とをメモリ111から読み出し、それら2つのセンサ位置の差分を点列幅W4として算出する。
【0079】
次に、距離最大点PosMaxと第2の端点Edge2の間の点列幅W5を算出する(S95)。具体的には、距離最大点PosMaxを検知した時のセンサ位置と、第2の端点Edge2を検知した時のセンサ位置とをメモリ111から読み出し、それら2つのセンサ位置の差分を点列幅W5として算出する。
【0080】
次に、以下に示すS96〜S101の全ての条件を満たすか否かを判断する。すなわち、S92で算出した差分(Lmax−Ledge1)が所定の閾値TH3以上か否かを判断する(S96)。また、S93で算出した差分(Lmax−Ledge2)が所定の閾値TH3以上か否かを判断する(S97)。また、第1の端点Edge1が距離最大点PosMaxと異なる点であるか否かを判断する(S98)。また、第2の端点Edge2が距離最大点PosMaxと異なる点であるか否かを判断する(S99)。また、S94で算出した点列幅W4が所定の閾値TH4以上か否かを判断する(S100)。また、S95で算出した点列幅W5が所定の閾値TH4以上か否かを判断する(S101)。
【0081】
S96〜S101の条件を全て満たす場合には、枠600内の点列の形状がV字状であり、2つの障害物が隣接してオフセット無しで配置された場面であるとして、枠600内にその場面に係る変曲点があると判定する(S102)。そして、距離最大点PosMaxを変曲点とする(S102)。
図27の例では、点973が変曲点として検知される。その後、
図26の処理を終了する。
【0082】
これに対して、S96〜S101の条件のうちの一つでも満たさない場合には、2つの障害物が隣接してオフセット無しで配置された場面ではないとして、
図26の処理を終了する。なお、S26の処理は、
図3のS31で時間が更新される度に、距離差分大点が無いことを条件として繰り返し実行される。そして、枠600の設定は例えば最新の検知距離の点を基準として設定される。そのため、枠600は、時間の経過とともにX軸方向にスライドしていくことになる。
【0083】
図8の処理に戻ると、次に、S27の判定結果に基づき検知距離の点列に変曲点が有るか否かを判断する(S28)。変曲点が有る場合、つまり
図21のS88又は
図26のS102で変曲点有りと判定した場合には(S28:Yes)、S88又はS102で検知した変曲点を境にして検知距離のグルーピングを行う(S29)。
図6の例では、駐車車両63に対する検知距離の点列94でグルーピングが行われ、柱82に対する検知距離の点列95でグルーピングが行われる。また、
図7の例では、左側の駐車車両63に対する検知距離の点列971でグルーピングが行われ、右側の駐車車両64に対する検知距離の点列972でグルーピングが行われる。その後、S30に移行し、
図8の処理の終了条件が成立するまでは(S30:No)、上述の処理が繰り返される。そして、
図8の処理を終了した後の
図13のS13では、
図8の処理でグルーピングされた検知距離の履歴ごとに曲線近似が行われる。
【0084】
S28において、変曲点が無い場合には(S28:No)、未だ障害物の切れ目は無いとして、グルーピングを行わないで、S30に移行し、
図8の処理の終了条件が成立するまでは(S30:No)、上述の処理が繰り返される。
【0085】
以上説明したように、本実施形態によれば、検知距離の点列に距離差分が大きい距離差分大点が存在していた場合に、その距離差分大点がノイズか障害物の切れ目かを判定できる。よって、検知距離の点列にノイズが混在していたとしても、正確に検知距離のグルーピングを行うことができる。また、距離差分が小さい場合には、検知距離の点列に変曲点が有るか否かを判定するので、隣接障害物が有ったとしても正確に障害物の切れ目を検知できる。また、変曲点の有無を、検知距離の履歴を微分することなしに判定しているので、その判定を正確に行うことができる。なお、検知距離はいくらか誤差を有しているので、検知距離の履歴は変曲点の有無にかかわらず細かく変動する。そのため、検知距離の履歴の微分値を見たとしても、変曲点の有無を正確に検知できない。
【0086】
なお、本発明に係る障害物検知装置は上記実施形態に限定されるものではなく、特許請求の範囲の記載を逸脱しない限度で種々の変更が可能である。例えば、上記実施形態では、オフセット障害物の変曲点の検知場面として、駐車車両と柱とが配置された場面を例に挙げて説明したが、駐車車両、柱以外の障害物が配置された場面でも本発明を適用できる。例えば、
図2の場面のように、駐車車両に隣接して縁石がオフセットして配置された場面でも適用できる。