(58)【調査した分野】(Int.Cl.,DB名)
車両(6)が移動しているときに前記車両の側方に存在する物体(7、71、72)に探査波を逐次送信し、前記探査波が前記物体に当たって反射した反射波を受信して、受信した反射波に基づき前記物体までの距離を逐次検知する距離検知手段(2)と、
前記物体の距離検知をするときの前記距離検知手段の位置であるセンサ位置を算出する位置算出手段(12、13、S13)と、
前記距離検知手段が検知した距離である検知距離の履歴と前記センサ位置の履歴とを用いて、前記反射波の到来方向を推定し、前記センサ位置から前記到来方向に前記検知距離だけ離れた点である反射点(4)を推定する反射点推定手段(S15)と、
前記物体のコーナー(7a、71a、72a)付近の前記反射点の履歴形状を判定する形状判定手段(S16、S17)と、
前記履歴形状に、前記物体の面角度が急なときに発生する急履歴形状(40)が含まれているときには、前記コーナー付近の前記急履歴形状に属さない前記反射点である正常反射点(42)又はその正常反射点における前記到来方向に応じた位置に、前記急履歴形状に属する前記反射点である精度低反射点(41)を補正する反射点補正手段(S19〜S22)と、
を備えることを特徴とする物体検知装置(1)。
車両(6)が移動しているときに前記車両の側方に存在する物体(7、8)に探査波を逐次送信し、前記探査波が前記物体に当たって反射した反射波を逐次受信して、受信した反射波に基づき前記物体までの距離を逐次検知する距離検知手段(2)と、
前記物体の距離検知をするときの前記距離検知手段の位置であるセンサ位置を算出する位置算出手段(12、13、S33)と、
前記距離検知手段が検知した距離である検知距離の履歴と前記センサ位置の履歴とを用いて、前記反射波の到来方向を推定し、前記センサ位置から前記到来方向に前記検知距離だけ離れた点である反射点を推定する反射点推定手段(S38)と、
前記反射点の履歴に基づき前記物体のコーナーを決定するコーナー決定手段(S39)と、
前記検知距離の前記コーナー(7a、8a)付近の履歴形状を判定する形状判定手段(S36)と、を備え、
前記コーナー決定手段(S40、S45、S46)は、前記履歴形状が直線状の場合には、前記反射点の履歴に代えて、前記検知距離の履歴に基づき前記コーナーの位置を決定することを特徴とする物体検知装置(1)。
前記形状判定手段は、前記反射点の履歴から、前記反射点の検知精度が低いと推定される精度低範囲を前記急履歴形状として抽出する範囲抽出手段であることを特徴とする請求項1に記載の物体検知装置。
前記範囲抽出手段は、前記反射点の履歴方向が前記距離検知手段の移動方向と逆向きとなっている範囲を前記精度低範囲として抽出する第1抽出手段(S101〜S116)を備えることを特徴とする請求項3に記載の物体検知装置。
前記反射点補正手段は、前記精度低範囲における前記到来方向を、前記精度低範囲の端に隣接する前記正常反射点である端点(421)における端点到来方向とし、前記精度低反射点における前記センサ位置(22)から前記端点到来方向に前記検知距離だけ離れた点(431)に当該精度低反射点を補正する第1補正手段(S121)を備えることを特徴とする請求項3〜5のいずれか1項に記載の物体検知装置。
補正対象とする前記精度低反射点を補正対象反射点、その補正対象反射点における前記センサ位置を対象センサ位置(243)、その対象センサ位置に隣接する前記センサ位置を隣接センサ位置(242)、その隣接センサ位置における前記正常反射点を隣接反射点(423)として、
前記反射点補正手段は、
前記隣接反射点及びそれに隣接する前記正常反射点(422)から構成される反射面である隣接反射面(732)の法線(151)を、前記隣接反射点と前記隣接センサ位置とを結ぶ直線(152)に対して対称移動させた線(153)を法線とし、かつ前記隣接反射点に接続する反射面(733)を算出する反射面算出手段(S191〜S194)と、
前記反射面算出手段が算出した反射面と、前記対象センサ位置における前記検知距離を半径とする円弧(154)との交点(433)に前記補正対象反射点を補正する第2補正手段(S195)と、を備えることを特徴とする請求項3〜5のいずれか1項に記載の物体検知装置。
前記反射点補正手段は、前記精度低範囲の端に隣接する前記正常反射点である端点(421)に対する前記精度低反射点の点対称となる点(434)に当該精度低反射点を補正する第3補正手段(S201)を備えることを特徴とする請求項3〜5のいずれか1項に記載の物体検知装置。
前記反射点補正手段は、前記精度低範囲の端に隣接する前記正常反射点である端点(421)から前記車両の移動方向又はその反対方向に所定値だけオフセットした点(435)に前記精度低反射点を補正する第4補正手段(S211)を備えることを特徴とする請求項3〜5のいずれか1項に記載の物体検知装置。
前記車両の側方の方向を前記物体の奥行き方向として、前記反射点補正手段が補正した補正反射点(43)のうち、前記奥行き方向における位置が最小の前記反射点(441)から、前記奥行き方向に第1の閾値以上離れた補正反射点(432)を無効とする反射点無効手段(S131〜S147)を備えることを特徴とする請求項1、3〜9のいずれか1項に記載の物体検知装置。
前記車両の側方の方向を前記物体の奥行き方向として、前記反射点補正手段による補正を実施した後の各々の前記反射点のうち、前記奥行き方向における位置が最小の前記反射点(441)と最大の前記反射点(442)の前記奥行き方向における差分が第2の閾値以下であるか否かを判断する差分判断手段(S153)と、
前記検知距離の履歴に対する近似曲線(300、301、302)を算出する曲線算出手段(S154〜S157)と、
前記検知距離が検知されていない範囲における前記近似曲線上の点を推定検知距離(96)として算出する推定距離算出手段(S159)と、
前記差分判断手段が前記差分が前記第2の閾値以下であると判断した場合には、前記差分が前記第2の閾値以上となるまで、前記推定検知距離の履歴と前記推定検知距離での前記センサ位置の履歴とを用いて、追加の反射点(45)を推定する追加点推定手段(S160〜S163)と、を備えることを特徴とする請求項1、3〜10のいずれか1項に記載の物体検知装置。
【発明を実施するための形態】
【0014】
(第1実施形態)
以下、本発明に係る物体検知装置の第1実施形態を図面を参照しながら説明する。
図1は、本実施形態の物体検知装置1の概略構成を示したブロック図である。物体検知装置1は、車両6(
図2参照)に搭載されている。物体検知装置1は、測距センサ2と車速センサ12と操舵角センサ13とそれらと接続したECU11とを備えている。測距センサ2は、例えば車両6の側面(左側面、右側面)に車両6の側方に向けて取り付けられている。測距センサ2は、ECU11からの指示に基づき、測距センサ2の正面方向(車両6の側方)に、所定間隔おきに(例えば100ミリ秒おきに)超音波等の探査波を送信する。測距センサ2は、送信した探査波が車両の側方に存在する物体に当たって反射した反射波を受信する。測距センサ2は、探査波の送信タイミングと反射波の受信タイミングとに基づき、物体までの距離を算出する。測距センサ2で検知された検知情報(検知距離)はECU11に入力される。なお、検知距離の算出は、ECU11が行っても良い。測距センサ2は、探査波を送信しその探査波の反射波を受信するセンサであれば良く、音波を用いるものであっても、光波を用いるものであっても、電波を用いるものであっても良い。測距センサ2としては、例えば超音波センサ、レーザレーダ、ミリ波レーダ等のセンサを用いることができる。
【0015】
図2には、測距センサ2による物体の検知範囲20(探査波の送信範囲)を図示している。検知範囲20の指向性φは例えば70°〜120°程度となっている。また、測距センサ2が検知可能な最大検知距離(検知範囲20の先端と測距センサ2の間の距離)は例えば4m〜10m程度となっている。検知範囲20の中心線(測距センサ2の正面方向)は、例えば車両6の車幅方向(左右方向)に略平行の向きとなっている。なお、その中心線は、車幅方向に対して例えば20°程度まで車両移動方向側に又はその逆側に傾いていても良い。
【0016】
車速センサ12は車両6の車速を検知するセンサである。車速センサ12で検知された検知情報(車速)はECU11に入力される。操舵角センサ13は車両6のステアリングの操舵角を検知するセンサである。操舵角センサ13で検知された検知情報(操舵角)はECU11に入力される。
【0017】
ECU11は、CPU、ROM、RAM等から構成されたマイコンを主体として構成され、測距センサ2、車速センサ12、操舵角センサ13から入力された各検知情報に基づき、車両6の駐車を支援する各種処理を実行する。具体的には、ECU11は、車両6の側方に存在する駐車車両等の物体の位置(例えばコーナーの位置)を検知し、検知した物体の位置に基づき駐車空間の有無を判定する駐車空間検知処理を実行する。また、ECU11は、駐車空間検知処理で検知した駐車空間に車両6を自動で駐車させる自動駐車処理を実行する。
【0018】
先ず
図2を参照して、ECU11が実行する駐車空間検知処理による駐車空間の検知方法の基本的な考え方を説明する。
図2は、駐車空間の検知場面の一例を示した図である。詳細には、
図2では、並列駐車した2台の駐車車両71、72(以下、駐車車両71、72を区別しないときには符号7を使用する)の側方経路100を車両6が移動しながら、それら駐車車両71、72間の駐車空間101を検知する場面を示している。なお、
図2では、矢印P1の方向(
図2の紙面下から上に向かう方向)に車両6が移動している。
【0019】
ECU11は、駐車空間を検知しようとするときには、測距センサ2に指示をして、車両の側方に存在する物体(駐車車両71、72)までの距離を逐次検知させる。このとき、車両6が移動しているとすると、車両6(測距センサ2)の各位置に応じた検知距離の履歴が得られる。
図2には、その検知距離の履歴を符号9(×の点)で図示している。詳細には、各検知距離9は、検知距離を検知したときの測距センサ2の位置(以下、センサ位置という)から、測距センサ2の正面方向(車両6の側方)に検知距離だけ離れた点(以下、測距点という)である。検知範囲20はある程度の広がりを持っているため、車両6が駐車車両7の正面位置に到達する前から測距センサ2による距離検知が開始され、車両6が駐車車両7を通過した後もしばらくの間は測距センサ2による距離検知が続く。つまり、
図2に示すように、測距点9の履歴範囲は、駐車車両7の幅よりも広くなる。なお、駐車車両7の外側にプロットされている測距点900は、測距センサ2が駐車車両7から離れる分だけ、駐車車両7の面よりも奥行き方向にプロットされる。その結果、測距点9の履歴形状は略放物線状となる。
【0020】
このように、測距点9の履歴範囲は駐車車両7の幅よりも広くなるので、測距点9の履歴に基づき駐車空間を検知しようとすると、実際の駐車空間101よりも狭い駐車空間が検知されてしまう。そこで、ECU11は、検知距離の履歴とセンサ位置の履歴とを用いて三角測量の原理により、反射波の駐車車両7での反射点を推定している。なお、反射点の推定方法の詳細は後述する。
図2には、推定した反射点4(黒丸の点)の履歴を図示している。反射点4は、駐車車両7の面に略一致した位置にプロットされる。よって、例えば1台目の駐車車両71における端の反射点410と、2台目の駐車車両72における端の反射点420の間の空間を駐車空間として検知できる。これにより、実際の駐車空間101と同等の幅の駐車空間を検知できる。以上が、駐車空間の検知方法の基本的な考え方である。
【0021】
ところが、上記の「発明が解決しようとする課題」で説明したように、駐車車両のコーナー付近では、駐車車両の面角度が大きくなるので、三角測量の原理の適用範囲外となる場合がある。つまり、
図8に示すように、面角度が大きい反射面からの反射波(検知距離)に基づき推定された反射点4bは、真の反射点3から大きく離れてしまう。詳細には、反射点4bは、真の反射点3の履歴方向P2に対して逆向きの方向P3に検知される。
図8の例では、履歴方向P2が
図8の紙面方向で左斜め上方向となっており、反射点4aから反射点4bの方向P3は、
図8の紙面方向で右斜め下方向となっている。
図9は、
図7のB部の拡大図であり、駐車車両7のコーナー71a付近における反射点4の履歴の様子を示している。
図9に示すように、コーナー71a付近では、反射点4の履歴方向は、矢印P4のようになる。つまり、反射点4の履歴には、駐車車両7と略一致した位置に検知される反射点42の端点421から、車両6の移動方向P1(
図7参照)に対して逆向きで、かつ側方経路100(
図7参照)側に折り返された範囲40(以下、精度低範囲という)が存在する。この精度低範囲40を含む反射点4の履歴を用いると、例えば端点421を駐車車両7のコーナーと検知してしまう。この場合、検知された駐車車両の幅(コーナー間の幅)は、実際の駐車車両7よりも狭くなる。そこで、ECU11は、精度低範囲40における反射点41(以下、精度低反射点という)を補正している。
【0022】
以下、精度低反射点を補正するときの処理を含む、ECU11が実行する駐車空間検知処理の詳細を説明する。
図3は、駐車空間検知処理のフローチャートを示している。
図3の処理は、例えば駐車空間の検知を指示するスイッチ(図示外)が車両6の乗員に操作されたときに開始される。なお、
図3の処理を実行する間、ECU11は、測距センサ2に指示をして、車両6の側方に存在する物体(駐車車両7)までの距離を逐次検知させている。
図3の処理を開始すると、先ず、以降の処理で使用する各種パラメータを初期化する(S11)。具体的には、測距センサ2が距離検知を行うときの時間t(n)をゼロに設定する(S11)。また、測距センサ2が距離検知を試みた回数(計測カウント)nを1に設定する(S11)。また、1台目の駐車車両71(
図2参照)の検知を開始したときの計測カウントCar1Start(以下、1台目開始点という)をゼロに設定する(S11)。また、1台目の駐車車両71の検知が終了したときの計測カウントCar1End(以下、1台目終了点という)をゼロに設定する(S11)。また、2台目の駐車車両72(
図2参照)の検知を開始したときの計測カウントCar2Start(以下、2台目開始点という)をゼロに設定する(S11)。また、2台目の駐車車両72の検知が終了したとときの計測カウントCar2End(以下、2台目終了点という)をゼロに設定する(S11)。なお、ECU11は、各計測カウントnでの時間t(n)(t(1)を基準とした時間)を計測している。
【0023】
次に、各計測カウントnでの検知距離L(n)を測距センサ2から取得する(S12)。なお、ECU11自身が検知距離Lを算出する構成の場合には、S12では、測距センサ2から反射波の受信タイミングを取得して、送信タイミングと受信タイミングとに基づき検知距離L(n)を算出する。なお、測距センサ2の検知範囲20(
図2参照)に物体が存在しない場合、つまり非検知の場合には検知距離L(n)=0とする。次に、各計測カウントnでのセンサ位置Attdを算出する(S13)。具体的には、
図2に示すように、
図3の処理を開始した時点における測距センサ2の位置を原点O、その時点の車両6の移動方向をX軸、そのX軸に垂直な方向をY軸とした座標系を設定する。その座標系での座標(AttdX(n)、AttdY(n))としてセンサ位置Attdを算出する。このとき、車速センサ12から入力された車速と時間t(n)とから、前回(計測カウントn−1)のセンサ位置Attdからの車両6(測距センサ2)の移動距離を算出できる。操舵角センサ13から入力された操舵角から、前回のセンサ位置Attdからの車両6(測距センサ2)の移動方向を算出できる。それら移動距離、移動方向から今回のセンサ位置Attdを算出する。なお、S12で取得した検知距離L(n)はセンサ位置Attd(AttdX(n)、AttdY(n))に対応付けてRAM等のワークメモリに記憶しておく。
【0024】
これによって、
図2に示すように、車両6が移動するにしたがって、測距点9の履歴(検知距離の履歴)を、設定した座標系にプロットすることができる。次に、検知距離(測距点9)の履歴に基づき、1台目の駐車車両71の範囲と2台目の駐車車両72の範囲とを抽出する(S14)。具体的には、駐車車両71の範囲として、1台目開始点Car1Startと1台目終了点Car1Endとを特定する。例えば、検知距離の履歴において、検知距離の値が急激に変化したときにおける計測カウントを、1台目開始点Car1Start、1台目終了点Car1Endとする。
図2の例では、測距点91における計測カウントを1台目開始点Car1Startとする。また、測距点92における計測カウントを1台目終了点Car1Endとする。
【0025】
同様に、駐車車両72の範囲として、2台目開始点Car2Startと2台目終了点Car2Endとを特定する。
図2の例では、測距点93における計測カウントを2台目開始点Car2Startとする。なお、
図2の例では、車両6は2台目の駐車車両72を未だ通過していないので、2台目終了点Car2Endは現在の計測カウントnとなる。なお、2台目の駐車車両72の距離検知がまだ開始されていないときには(車両6が駐車車両72の位置に未だ到達していないとき)、S14では、1台目の駐車車両71の範囲のみが抽出されることになる。この場合には、Car2Start=0、Car2End=0のままとなる。
【0026】
次に、ワークメモリに蓄積されている検知距離L(n)の履歴とセンサ位置Attdの履歴とを用いて、三角測量の原理により、計測カウントnでの反射波の到来方向RfltDirection(n)を算出する(S15)。そして、センサ位置Attdから到来方向RfltDirection(n)に検知距離L(n)だけ離れた点を反射点Rfltとして算出する(S15)。この反射点Rfltは、
図2の座標系の座標(RfltX(n)、RfltY(n))として算出する。
【0027】
ここで、
図4は、到来方向RfltDirection(n)及び反射点Rflt(n)の算出方法を説明する図である。詳細には、
図4は、計測カウントnにおける車両6の位置6b(実線で図示)と、1つ前の計測カウントn―1における車両6の位置6a(破線で図示)と、駐車車両7とを上から見た図を示している。
図4に示すように、計測カウントnにおけるセンサ位置Attd(n)及び検知距離L(n)と、計測カウントn−1におけるセンサ位置Attd(n−1)及び検知距離L(n−1)とで構成される三角形53を考える。
図5はその三角形53だけを抜き出した図を示している。センサ位置Attd(n)、Attd(n−1)の座標成分に基づいて、それら位置間の辺531のベクトル成分(AttdBktX、AttdBktY)とそのベクトルの絶対値AttdBktとを算出する。また、辺531と検知距離L(n)の辺532との角度をθ(n)とすると、角度θ(n)を次の式1で算出する。この角度θ(n)が、反射波の到来方向RfltDirection(n)に相当する。
【0029】
そして、角度θ(n)、上記のベクトル成分(AttdBktX、AttdBktY)、絶対値AttdBktを以下の式2〜式6に代入して、三角形53の頂点の座標、つまり反射点4のX座標RfltX(n)(式5)及びY座標RfltY(n)(式6)を算出する。
【0030】
【数2】
【数3】
【数4】
【数5】
【数6】
【0031】
これによって、
図2に示すように、車両6が移動するにしたがって、駐車車両7の面に略一致した位置に反射点4の履歴をプロットすることができる。次に、反射点4の履歴から、反射点4の履歴が折り返される精度低範囲40(
図9参照)を抽出する(S16)。ここで、
図6は、S16の詳細のフローチャートを示している。
図6の処理に移行すると、先ず、1台目の駐車車両71における精度低範囲と2台目の駐車車両72における精度低範囲のどちらを抽出するのかを判断する(S101)。具体的には、例えば2台目開始点Car2Start=0か否か、つまり、2台目の駐車車両72の距離検知が未だ開始されていないか否かを判断する(S101)。2台目開始点Car2Start=0の場合には(S101:Yes)、1台目の駐車車両71における精度低範囲を抽出するとして、S102に移行する。
【0032】
S102では、1台目終了点Car1Endでの反射点のX座標RfltX(Car1End)が、1つ前の計測カウント(Car1End−1)での反射点のX座標RfltX(Car1End−1)よりも小さくなっているか否かを判断する(S102)。
図9に示すように、精度低範囲40が存在している場合に、S102では、その精度低範囲40の先端に位置する反射点411のX座標と、その1つ前の反射点413のX座標とを比較している。なお、
図9には、
図2のX軸と同様のX軸を図示している。RfltX(Car1End)のほうがRfltX(Car1End−1)よりも大きい場合には(S102:No)、精度低範囲は存在しないと判断する(S108)。この場合には、車両6が駐車車両71のコーナー71a(
図9参照)付近に未だ到達していないか、到達しているがコーナー71aの面角度が緩やかとなっているために、反射点4の履歴方向が車両6の移動方向P1と同じとなっている状況が想定される。S108の後、
図6のフローチャートの処理を終了する。
【0033】
S102において、RfltX(Car1End)がRfltX(Car1End−1)よりも小さい場合には(S102:Yes)、精度低範囲が存在するとして、S103に移行する。S103では、着目する計測カウントの値jを1台目終了点Car1Endに設定する(S103)。次に、計測カウントjでの反射点のX座標RfltX(j)と、1つ前の計測カウントj−1での反射点のX座標RfltX(j−1)とを比較する(S104)。RfltX(j−1)のほうがRfltX(j)よりも大きい場合には(S104:No)、S105に移行して、計測カウントjが、1台目開始点Car1Startに達したか否かを判断する。計測カウントjが1台目開始点Car1Startに未だ達していない場合には(S105:No)、S106に移行して、計測カウントjの値を1つ前の値に設定する(j=j−1)。その後、S104に戻って、新たに着目する計測カウントjでの反射点のX座標RfltX(j)と、1つ前の計測カウントj−1での反射点のX座標RfltX(j−1)とを比較する。
【0034】
このように、S104、S105、S106の処理によって、
図9の反射点411から履歴方向P4と逆向きに、順番に隣り合う2つの反射点4に着目し、それら2つの反射点4のX座標の大小比較が行われる。S104において、RfltX(j)がRfltX(j−1)より大きい場合には(S104:Yes)、S107に移行する。S107では、精度低範囲の開始点に対応する計測カウントAreaStart(以下、範囲開始点という)を計測カウントj+1に設定する。また、精度低範囲の終了点に対応する計測カウントAreaEnd(以下、範囲終了点という)を1台目終了点Car1Endに設定する(S107)。また、精度低範囲の端の反射点(範囲開始点の反射点)に隣接する反射点の計測カウントCorrectEdge(以下、端点という)を計測カウントjに設定する(S107)。つまり、S107では、計測カウントがj+1からCar1Endまでの範囲を精度低範囲として抽出する。
図9の例では、丁度折り返し点に位置する反射点421の隣りの反射点412から反射点411までの範囲が精度低範囲40として抽出されることになる。また、反射点421が端点として抽出される。以下では、精度低範囲40に含まれない反射点4を正常反射点という場合もあり、その正常反射点を符号42で示す。S107の後、
図6のフローチャートの処理を終了する。
【0035】
S105において、計測カウントjが、1台目開始点Car1Startに達した場合には(S105:Yes)、S108に移行する。この場合には、反射点の履歴方向が車両6の移動方向と逆向きになっているものの、折り返し点が見つからない状況となっている。この状況は想定外の状況であるため、精度低範囲は存在しないと判断する(S108)。その後、
図6のフローチャートの処理を終了する。
【0036】
一方、S101において、2台目開始点Car2Start≠0の場合(S101:No)、つまり、2台目の駐車車両72の検知が既に開始されている場合には、駐車車両72における精度低範囲を抽出するとして、S109に移行する。なお、1台目の駐車車両71も2台目の駐車車両72も、(1)精度低範囲→(2)正常反射点→(3)精度低範囲の順に検知される。そして、1台目の駐車車両71に対する
図6の処理では、(3)の精度低範囲付近を(3)から(2)に逆行しながら(
図9の履歴方向P4に逆行しながら)精度低範囲の探索を行っている。(3)の付近は、1台目の駐車車両71の側方経路100側の2つのコーナーのうち、車両6が通過する2つ目のコーナー(奥側コーナー)付近に対応する。一方、2台目の駐車車両72に対する
図6の処理では、(1)の精度低範囲付近を(1)から(2)に順行しながら精度低範囲の探索を行う。(1)の付近は、2台目の駐車車両72の側方経路100側の2つのコーナーのうち、車両6が通過する1つ目のコーナー(手前側コーナー)付近に対応する。ここで、
図10、
図11は、2台目の駐車車両72における反射点の履歴方向を説明する図である。詳細には、
図10は、
図7と同様の図であり、車両6が2台目の駐車車両72のコーナー72a(1台目の駐車車両71側にあるコーナー、駐車空間101に隣接するコーナー)付近の反射点の検知を行っている場面を示している。
図11は、
図10のC部の拡大図であり、コーナー72a付近(上記(1)→(2)付近)の反射点4の様子を示している。なお、
図10では、車両6は、
図10の紙面右側から左側の方向P1に移動している。
図11にはその方向P1及びX軸を図示している。
【0037】
図11に示すように、2台目の駐車車両72における反射点4の履歴方向は矢印P5で示す方向となる。つまり、先ず反射点411が検知される。その反射点411は、実際のコーナー72aの位置よりも移動方向P1側に進んだ位置、かつ、車両6側の位置に検知される。その後、反射点411から移動方向P1と逆向きかつコーナー72aに近づく方向に(
図11の紙面方向で右斜め上方向)、反射点4が検知されていく。その後、ある反射点421を境として、駐車車両72の面と略一致した位置に、移動方向P1と同じ方向に、反射点4が検知されていく。なお、反射点411での計測カウントが、2台目開始点Car2Startとなる。
【0038】
以上を踏まえて、
図6のS109以降の処理を説明する。S109では、2台目開始点Car2Startでの反射点のX座標RfltX(Car2Start)と、1つ後の計測カウント(Car2Start+1)での反射点のX座標RfltX(Car2Start+1)とを大小比較する(S109)。
図11の例では、反射点411と、次に検知された反射点414とのX座標の大小比較が行われることになる。RfltX(Car2Start)のほうがRfltX(Car2Start+1)よりも小さい場合には(S109:No)、精度低範囲は存在しないと判断する(S116)。この場合、例えば、コーナー72aの面角度が緩やかになっているために、反射点4の履歴に折り返しが発生しない状況が想定される。S116の後、
図6のフローチャートの処理を終了する。
【0039】
S109において、RfltX(Car2Start)がRfltX(Car2Start+1)よりも大きい場合には(S109:Yes)、精度低範囲が存在するとして、S110に移行する。S110では、着目する計測カウントの値jを2台目開始点Car2Startに設定する(S110)。次に、計測カウントjでの反射点のX座標RfltX(j)と、1つ後の計測カウントj+1での反射点のX座標RfltX(j+1)とを比較する(S111)。RfltX(j)のほうがRfltX(j+1)よりも大きい場合には(S111:No)、S112に移行して、計測カウントjが、2台目終了点Car2Endに達したか否かを判断する。計測カウントjが2台目終了点Car2Endに未だ達していない場合には(S112:No)、S113に移行して、計測カウントjの値を次の値に設定する(j=j+1)。その後、S111に戻って、新たに着目する計測カウントjでの反射点のX座標RfltX(j)と、1つ後の計測カウントj+1での反射点のX座標RfltX(j+1)とを比較する。
【0040】
このように、S111、S112、S113の処理によって、
図11の反射点411から履歴方向P5と同じ向きに、順番に隣り合う2つの反射点4に着目し、それら2つの反射点4のX座標の大小比較が行われる。S111において、RfltX(j+1)がRfltX(j)より大きい場合には(S111:Yes)、S114に移行する。S114では、範囲開始点AreaStartを2台目開始点Car2Startに設定する。また、範囲終了点AreaEndを計測カウントj−1に設定する(S114)。また、端点CorrectEdgeを計測カウントjに設定する(S114)。つまり、S114では、計測カウントがCar2Startからj−1までの範囲を、2台目の駐車車両72における精度低範囲として抽出する。
図11の例では、丁度折り返し点に位置する反射点421の隣りの反射点412から反射点411までの範囲が精度低範囲40として抽出されることになる。また、反射点421が端点として抽出される。S114の後、
図6のフローチャートの処理を終了する。
【0041】
S112において、計測カウントjが、2台目終了点Car2Endに達した場合には(S112:Yes)、S115に移行する。この場合には、反射点の履歴方向が車両6の移動方向と逆向きになっているものの、折り返し点が見つからない状況となっている。この状況は想定外の状況であるため、精度低範囲は存在しないと判断する(S115)。その後、
図6のフローチャートの処理を終了する。
【0042】
図3の説明に戻り、S16の後、S17に移行し、精度低範囲の有無を判断する。精度低範囲が存在しない場合(
図6のS108、S115、S116の場合、S17:No)、S25に進む。これに対し、精度低範囲が存在する場合には(
図6のS107、S114の場合、S17:Yes)、S18に移行し、ROMに設定されたパラメータMethodが1か否かに応じて、S19以降の処理を実行するか、後述する
図20の処理を実行するかを判断する。Method=1の場合には(S18:Yes)、S19に以降の処理を実行する。すなわち、着目する計測カウントjを、
図6のS107又はS114で設定した範囲開始点AreaStartに設定する(S19)。つまり、
図9の例では反射点412に着目し、
図11の例では反射点411に着目する。次に、計測カウントjでの反射点Rflt(j)の位置を補正する(S20)。つまり、
図9、
図11の精度低範囲40における反射点41(精度低反射点)の位置を補正する。
【0043】
ここで、
図12は、S20の詳細のフローチャートである。また、
図13は、S20による補正の考え方を説明する図であり、
図7のA部の拡大図に相当する。
図13には、精度低範囲の端に隣接する反射点421(端点)と、その反射点421を検知したときのセンサ位置21と、補正対象とする精度低反射点41と、その精度低反射点41を検知したときのセンサ位置22とを図示している。補正の前提として、精度低範囲に対応する反射面では、反射点421での面角度になっていると仮定する。この場合、精度低範囲における反射波の到来方向θ2は、反射点421における到来方向θ1(端点CorrectEdgeにおける到来方向RfltDirection(CorrectEdge))と同じであると近似することができる(θ2=θ1)。そこで、
図12のS121では、その到来方向RfltDirection(CorrectEdge)を用いて反射点Rflt(j)の位置を補正する。
図13の例で具体的に説明すると、反射点421での到来方向θ1(
図3のS15で算出)、センサ位置22、及びセンサ位置22での検知距離L1をワークメモリから読み出す。そして、センサ位置22から到来方向θ1に検知距離L1だけ離れた点431の位置に、精度低反射点41を補正する。
【0044】
これによって、反射点421から補正後の反射点431(補正反射点)の履歴方向を、車両6の移動方向と同じにできる。その結果、コーナー7a付近に補正反射点431を配置できる。S121の後、
図12のフローチャートの処理を終了する。
【0045】
図3の説明に戻り、S20の後、S21に移行して、計測カウントjが、
図6のS107又はS114で設定した範囲終了点AreaEndに達したか否かを判断する。未だ達していない場合には(S21:No)、S22に移行して、計測カウントjを次の値に更新する(j=j+1)。その後、S20に戻って、更新後の計測カウントjでの反射点Rflt(j)の位置を補正する。このように、S20、S21、S22が繰り返されることで、
図9の例では反射点412から順番に反射点411まで補正が行われ、
図11の例では反射点411から順番に反射点412まで補正が行われる。つまり、精度低範囲40に含まれる全ての精度低反射点41の補正が行われる。
【0046】
S21において、計測カウントjが範囲終了点AreaEndに達した場合には(S21:Yes)、S23に移行する。ここで、
図14を参照して、S23の処理を行う理由を説明する。
図14は、
図7のB部の拡大図であり、コーナー7a付近におけるS20の補正前後の反射点4を図示している。すなわち、
図14は、S20の補正で、精度低範囲40の反射点41(補正前の反射点)が、符号43で示す位置に補正された状態を示している。
図14に示すように、S20の補正を行うことで、反射点4の履歴の折り返しは解消できる。しかし、過剰に補正すると、補正反射点43のうちの一部の補正反射点432がコーナー7aからはみ出てしまう可能性がある。そこで、S23では、コーナー7aからはみ出てしまう可能性がある補正反射点432を判定し、判定した補正反射点432を無効にしている。
図15は、S23の詳細のフローチャートである。
【0047】
図15の処理に移行すると、先ず、1台目の駐車車両71に対して処理を行うのか、2台目の駐車車両72に対して処理を行うのかを判断する(S131)。具体的には、例えば2台目開始点Car2Start=0か否か、つまり、2台目の駐車車両72の距離検知が未だ開始されていないか否かを判断する(S131)。2台目開始点Car2Start=0の場合には(S131:Yes)、1台目の駐車車両71に対して処理を行うとして、S132に移行する。
【0048】
S132では、以降の処理で使用するパラメータJStartを1台目開始点Car1Startに設定する(S132)。また、以降の処理で使用するパラメータJEndを1台目終了点Car1Endに設定する(S132)。以下、パラメータJStartを駐車車両開始点と言い、パラメータJEndを駐車車両終了点と言う。
【0049】
次に、着目する計測カウントjを駐車車両開始点JStartに設定する(S134)。また、駐車車両の奥行き方向を
図2のY軸方向としたとき、奥行き方向における位置が最小の反射点のY座標MinRfltY(以下、単に最小値という)を、駐車車両開始点JStartにおける反射点のY座標RfltY(JStart)に設定する(S134)。また、奥行き方向における位置が最大の反射点のY座標MaxRfltY(以下、単に最大値という)を、駐車車両開始点JStartにおける反射点のY座標RfltY(JStart)に設定する(S134)。
【0050】
次に、着目する計測カウントjにおける反射点のY座標RfltY(j)が、最小値MinRfltYより小さいか否かを判断する(S135)。小さい場合には(S135:Yes)、最小値MinRfltYをそのRfltY(j)に更新する(S136)。その後、S137に移行する。RfltY(j)がMinRfltYより大きい場合には(S135:No)、S136を飛ばしてS137に移行する。この場合には、現在の最小値MinRfltYが維持される。
【0051】
S137では、RfltY(j)が最大値MaxRfltYよりも大きいか否かを判断する(S137)。大きい場合には(S137:Yes)、最大値MaxRfltYをそのRfltY(j)に更新する(S138)。その後、S139に移行する。RfltY(j)がMaxRfltYより小さい場合には(S137:No)、S138を飛ばしてS139に移行する。この場合には、現在の最大値MaxRfltYが維持される。
【0052】
S139では、計測カウントjが駐車車両終了点JEndに達したか否かを判断する(S139)。未だ達していない場合には(S139:No)、S140に移行し、計測カウントjを次の値に更新する(J=J+1)。その後、S135に戻って、更新後の計測カウントjに対して上述のS135〜S139の処理を実行する。このように、S135〜S140では、駐車車両開始点JStartから駐車車両終了点JEndの反射点のうち、奥行き方向(Y座標)の位置が最小の反射点と最大の反射点との抽出を行っている。
【0053】
S139において、計測カウントjが駐車車両終了点JEndに達した場合には(S139:Yes)、S141に移行する。そして、最大値MaxRfltYと最小値MinRfltYの差分(MaxRfltY−MinRfltY)が、予め定められた閾値th1より大きいか否かを判断する(S141)。
図14の例で説明すると、S141では、奥行き方向の位置が最小の反射点441と最大の反射点442のY軸方向における差分ΔY1が閾値th1より大きいか否かを判断していることになる。
図14の例では、差分ΔY1が閾値th1より大きくなっている。
【0054】
S141において、差分(MaxRfltY−MinRfltY)が閾値th1より小さい場合には(S141:No)、過剰補正の反射点は無いとして、
図15のフローチャートの処理を終了する。これに対して、差分(MaxRfltY−MinRfltY)が閾値th1より大きい場合には(S141:Yes)、過剰補正の反射点が有るとして、S142以降の処理を行う。すなわち、S142では、着目する計測カウントjを駐車車両開始点JStartに設定し直す(S142)。次に、計測カウントjでの反射点のY座標RfltY(j)と最小値MinRfltYとの差分(RfltY(j)−MinRfltY)が閾値th1より大きいか否かを判断する(S143)。大きい場合には(S143:Yes)、過剰補正の反射点であるとして、その反射点Rflt(j)を無効にする(S144)。その後、S145に移行する。これに対して、差分(RfltY(j)−MinRfltY)が閾値th1より小さい場合には(S143:No)、S144を飛ばしてS145に移行する。
【0055】
S145では、計測カウントjが駐車車両終了点JEndに達したか否かを判断する。未だ達していない場合には(S145:No)、S146に移行して、計測カウントjを次の値に更新する。その後、S143に戻って、更新後の計測カウントjに対して上述のS143〜S145の処理を実行する。
図14の例で説明すると、S142〜S146では、駐車車両開始点JStartの反射点4から順番に駐車車両終了点の反射点4まで、各反射点4が閾値th1のライン700を超えているか否かを判断する。そして、ライン700を超えている反射点4を無効にしている。
図14の例では、反射点432が無効とされる。
【0056】
S145において、計測カウントjが駐車車両終了点JEndに達した場合には(S145:Yes)、
図15のフローチャートの処理を終了する。
【0057】
一方、S131において、2台目開始点Car2Start≠0の場合には(S131:No)、2台目の駐車車両72に対する処理を行うとして、S147に移行する。そして、駐車車両開始点JStartを2台目開始点Car2Startに設定する(S147)。また、駐車車両終了点JEndを2台目終了点Car2Endに設定する(S147)。その後、上述のS134以降の処理で、過剰補正の反射点の有無を判定し、過剰補正の反射点が有る場合には、その過剰補正の反射点を無効にする。
【0058】
このように、
図15では、最小の反射点からY軸方向にどの程度離れているかに基づき過剰補正の反射点を判定している。これは、最小の反射点からY軸方向に離れている反射点ほど、X座標の値も大きくなり、コーナー7aからはみ出る可能性があるからである。Y座標で過剰補正の反射点を判定することで、駐車車両のX軸方向における幅の大小にかかわらず、コーナー7aからはみ出る可能性がある反射点を高精度に判定できる。
【0059】
図3の説明に戻り、S23の後、S24に移行する。ここで、
図16を参照して、S24の処理を行う理由を説明する。この
図16は、
図7のB部の拡大図であり、コーナー7a付近における反射点4等の各種点を図示している。
図16の反射点4(黒丸で図示)には、S20で補正された補正反射点も含んでいる。
図16に示すように、補正実施後であっても、反射点4の履歴の端点442がコーナー7aの端面に達しない場合がある。これは、測距センサ2の検知範囲が小さかったり、風が強かったりするなどして距離検知を良好に行うことができなかったことが原因である。つまり、反射点4の算出に使用する検知距離のデータ数が少ないことが原因である。
図16には、測距点9(白三角で図示)の履歴を図示しているが、その測距点9もコーナー7aの端面に達していない(通常ならば、
図2のように、測距点9の履歴は駐車車両7からはみ出る)。そこで、S24では、コーナー7aの端面に達しない可能性があるか否かを判定(S20による補正量が不足しているか否かを判定)する。そして、補正不足の場合には、コーナー7aの端面に達するように、追加の反射点を算出する。
図17は、S24の詳細のフローチャートである。
【0060】
図17の処理に移行すると、先ず、例えば2台目開始点Car2Start=0か否かを判定することで、1台目の駐車車両71に対して処理を行うのか、2台目の駐車車両72に対して処理を行うのかを判断する(S151)。2台目開始点Car2Start=0の場合には(S151:Yes)、1台目の駐車車両71に対して処理を行うとして、S152に移行する。
【0061】
S152では、以降の処理で使用する各種パラメータの設定を行う(S152)。具体的には、パラメータJStart1(以下、曲線近似開始点という)を1台目開始点Car1Startに設定する(S152)。また、パラメータJEnd1(以下、曲線近似終了点という)を1台目終了点Car1Endに設定する(S152)。また、パラメータJStart2(以下、距離近似開始点という)を1台目終了点Car1Endの1つ後の計測カウント(Car1End+1)に設定する(S152)。また、パラメータJEnd2(以下、距離近似終了点という)を2台目開始点Car2Startの1つ前の計測カウント(Car2Start−1)に設定する(S152)。また、パラメータdJを1に設定する(S152)。
【0062】
次に、
図15の処理で算出した最大値MaxRfltYと最小値MinRfltYの差分(MaxRfltY−MinRfltY)が予め定められた閾値th2より小さいか否かを判断する(S153)。この閾値th2は、
図14、
図15で使用する閾値th1と同じであっても良いし、閾値th1より小さい値であっても良い。
図16の例で説明すると、S153では、奥行き方向の位置が最小の反射点441と最大の反射点442のY軸方向における差分ΔY2が閾値th2より小さいか否かを判断していることになる。
図16の例では、差分ΔY2が閾値th2より小さくなっている。
【0063】
S153において、差分(MaxRfltY−MinRfltY)が閾値th2より大きい場合には(S153:No)、補正不足ではないとして、
図17のフローチャートの処理を終了する。これに対して、差分(MaxRfltY−MinRfltY)が閾値th2より小さい場合には(S153:Yes)、補正不足であるとして、S154以降の処理を行う。すなわち、S154では、近似曲線の種類を示すパラメータModeが「1」に設定されているか否かを判断する(S154)。Mode=1か否かは、ECU11のROMに予め設定されている。
【0064】
Mode=1の場合には(S154:Yes)、S155に移行し、近似曲線として放物線(2次曲線)を選択する。これに対し、Mode≠1の場合には(S154:No)、S156に移行し、近似曲線としてスプライン曲線を選択する。なお、スプライン曲線とは、与えられた複数の点を通る滑らかな曲線で、隣り合う点に挟まれた各区間に対し、個別の多項式を用いた曲線である。S155又はS156の後、S157に移行する。S157では、曲線近似開始点JStart1(=Car1Start)から曲線近似終了点JEnd1(=Car1End)までの検知距離(測距点)の履歴に対する近似曲線を算出する(S157)。このとき、S155又はS156で選択した種類の近似曲線を算出する(S157)。S155で放物線を選択した場合には、
図18に示すように、測距点9の履歴を近似する放物線301が得られる。
図2に示すように、通常時の測距点9の履歴形状は略放物線形状となる。よって、測距点9の履歴を放物線近似することで、
図2の通常時の履歴形状と同様の曲線を得ることができる。
【0065】
また、S156でスプライン曲線を選択した場合には、
図19に示すように、測距点9の履歴を近似するスプライン曲線302が得られる。なお、
図19には、曲線近似に用いた測距点94を実線の三角で図示し、その他の測距点9を破線の三角で図示している。このように、スプライン曲線で近似することで、測距点9の履歴形状が放物線状から離れた形状となっていたとしても、各測距点9を反映した精度の高い近似曲線を得ることができる。なお、曲線近似には全ての測距点9を用いても良いし、
図19のように一部の測距点94を用いても良い。
図16には、S157で得られた近似曲線300(
図18の放物線301又は
図19のスプライン曲線302)を図示している。
【0066】
次に、着目する計測カウントjを距離近似開始点JStart2に設定する(S158)。次に、S157で算出した近似曲線を用いて、計測カウントjにおける検知距離の近似値ApproximateL(j)を算出する(S159)。具体的には、近似曲線を、検知距離に対するXの関数ApproximateL(X)と考えたとき、
図3のS13で算出した、計測カウントjでのセンサ位置のX座標AttdX(j)をワークメモリから読み出す。そして、そのAttdX(j)を関数ApproximateL(X)のXに代入する。これにより、センサ位置AttdX(j)での検知距離の近似値を得ることができる。
図16には、近似曲線300から求めた、推定の測距点96を図示している。
【0067】
次に、検知距離の近似値ApproximateL(j)及びその隣りの検知距離(又は近似値)とそれらのセンサ位置とを用いて、三角測量の原理により(上記式1〜式6により)、反射点Rflt(j)を算出する(S160)。
図16には、S160で算出された反射点45を白丸で図示している。
【0068】
次に、S160で算出した反射点Rflt(j)のY座標RfltY(j)と最小値MinRfltYの差分(RfltY(j)−MinRfltY)が、閾値th2より大きいか否かを判断する(S161)。小さい場合には(S161:No)、S162に移行し、計測カウントjが距離近似終了点JEnd2に達したか否かを判断する。未だ達していない場合には(S162:No)、計測カウントjにパラメータdJ(=1)を加算して、計測カウントjの更新を行う(S163)。その後、S159に戻って、更新後の計測カウントjに対して反射点の追加を行う(S159、S160)。
【0069】
このように、S159〜S163の処理を繰り返すことで、奥行き方向(Y軸方向)における最大の反射点と最小の反射点のY軸方向における差分が閾値th2を超えるまで、繰り返し反射点の追加が行われる。S161において、差分(RfltY(j)−MinRfltY)が、閾値th2より大きい場合には(S161:Yes)、
図17のフローチャートの処理を終了する。また、S162において、計測カウントjが距離近似終了点JEnd2に達した場合には(S162:Yes)、
図17のフローチャートの処理を終了する。
【0070】
一方、S151において、2台目開始点Car2Start≠0の場合には(S151:No)、2台目の駐車車両72に対する処理を行うとして、S164に移行する。S164では、以降の処理で使用する各種パラメータの設定を行う。具体的には、曲線近似開始点JStart1を2台目開始点Car2Startに設定する(S164)。また、曲線近似終了点JEnd1を2台目終了点Car2Endに設定する(S164)。また、距離近似開始点JStart2を2台目開始点Car2Startの1つ前の計測カウント(Car2Start−1)に設定する(S164)。また、距離近似終了点JEnd2を1台目終了点Car1Endの1つ後の計測カウント(Car1End+1)に設定する(S164)。また、パラメータdJを−1に設定する(S164)。
【0071】
その後、S153以降の処理で、補正不足か否かを判断し(S153)、補正不足の場合には、補正不足が解消するまで(S161がYesとなるまで)反射点の追加を行う。このとき、JStart2=Car2Start−1、JEnd2=Car1End+1、dJ=−1となっているので、反射点の追加は、1台目の駐車車両71と2台目の駐車車両72の間の区間において、駐車車両72側から駐車車両71側に向かって行われる。
【0072】
図17の処理を行うことで、
図16に示すように、コーナー7aの端面付近にまで反射点4の履歴を延ばすことができる。また、
図15の処理と同様に、反射点のY座標に基づき補正不足を判定しているので、駐車車両のX軸方向における幅の大小にかかわらず、高精度に補正不足を判定できる。
【0073】
図3の説明に戻り、S24の後、S25に移行する。S25では、反射点の履歴に基づき、1台目の駐車車両71のコーナー及び2台目の駐車車両72のコーナーの位置を推定する(S25)。具体的には例えば、1台目の駐車車両71に対する反射点4の履歴のうち端に位置する反射点410(
図2参照)を、駐車車両71のコーナー71aの位置と推定する。同様に、2台目の駐車車両72に対する反射点4の履歴のうち端に位置する反射点420(
図2参照)を、駐車車両72のコーナー72aの位置と推定する。そして、推定したコーナー間の空間を駐車空間とする(S25)。
【0074】
次に、
図3の処理の終了指示の有無を判断する(S26)。例えば、S25で検知した駐車空間の幅と車両6の幅とを比較し、その駐車空間に車両6が駐車できると判断したときに、終了指示が有るとする。終了指示が無い場合には(S26:No)、S27に移行して、計測カウントnを次の値に更新する(n=n+1)。その後、S12に戻って、更新後の計測カウントnに対して、S12以降の処理を行う。S26において、終了指示が有る場合には(S26:Yes)、
図3のフローチャートの処理を終了する。
【0075】
以上説明したように、本実施形態によれば、反射点の履歴が折り返された精度低範囲が抽出され、S18でMethod=1の場合には、その精度低範囲の反射点の補正が行われるので、反射点の履歴の折り返しを解消できる。そして、補正後の反射点の履歴に基づき、駐車車両のコーナーを推定しているので、面角度が急なコーナーの推定精度を向上できる。その結果、2台の駐車車両に挟まれた駐車空間の検知精度を向上できる。
【0076】
一方、S18において、Method≠1の場合には、
図20のフローチャートの処理に移行する。
図21を参照しながら、
図20の処理を説明する。なお、
図21は、
図7のB部の拡大図であり、測距点9や反射点4等の様子を示している。
図20の処理に移行すると、先ず、センサ位置のX座標の履歴に対するコーナー付近の検知距離(測距点)の履歴形状を近似する放物線Aを算出する。
図21には、S311で算出された、測距点9の履歴に対する近似放物線501を図示している。
【0077】
次に、S311で算出した放物線Aの頂点における検知距離L1と、その頂点から所定量(例えば1mm〜1cm程度)離れた放物線A上の点における検知距離L2を算出する(S312)。S312の処理を
図21を参照して説明すると、放物線501の頂点502を抽出する。このとき、頂点502のY座標が検知距離の近似値L1、X座標がL1に対するセンサ位置503のX座標となる。ただし、センサ位置503は実際に距離検知した瞬間のセンサ位置ではないため、記憶されていない。よって、センサ位置503のY座標については、推定して求める必要がある。そこで、センサ位置のX座標として記憶した履歴50の中から、センサ位置503のX座標に最も近いセンサ位置505を抽出する。さらに、センサ位置503の方向で、センサ位置505に隣接したセンサ位置506を抽出する。センサ位置505とセンサ位置506のY座標を結んだ直線上にあるセンサ位置503のY座標を求める。さらに、センサ位置505のX座標と放物線Aから、センサ位置505に対応した検知距離の近似値L2を求める。
【0078】
次に、S312で算出した検知距離L1、L2とそれら検知距離に対応するセンサ位置とを用いて、三角測量(上記式1〜式6)により定まる点Bを頂点反射点として算出する(S313)。
図21の例では、センサ位置503を中心とし検知距離L1を半径とした円弧(図示外)と、センサ位置505を中心とし検知距離L2を半径とした円弧(図示外)の交点47を頂点反射点として算出する。
【0079】
次に、S313で算出した頂点反射点Bを頂点とし、端点CorrectEdge(
図6のS107又はS114で算出)の反射点Rflt(CorrectEdge)を通る放物線Cを算出する(S314)。
図21の例では、頂点反射点47を頂点とし、反射点421を通る放物線510を算出する。
【0080】
次に、頂点反射点Bとの奥行き方向(Y方向)の差分が予め定められた閾値th3となる点をコーナーとして決定する(S315)。この閾値th3は、
図3のS23の処理で使用する閾値th1(
図14参照)や、S24の処理で使用する閾値th2(
図16参照)に相当する。
図21の例では、頂点反射点47から奥行き方向に閾値th3だけ離れた点48をコーナー位置として決定する。
【0081】
次に、S315で決定した1台目の駐車車両71のコーナーと、2台目の駐車車両72のコーナーの間を駐車空間として決定する(S316)。その後、
図20の処理を終了して、
図3のS25の処理に移行する。
【0082】
このように、S18でMethod≠1の場合には、精度低反射点の補正、過剰補正、補正不足の処理(S20、S23、S24)を経ないで直接コーナーを決定している。よって、精度低反射点の補正、過剰補正、補正不足の処理を省略できるので、計算負荷を軽減できる。また、コーナーの検知に使用する反射点が頂点反射点47と反射点421の2点だけなので、頂点反射点47と反射点421の間の反射点の算出を省略できる。
【0083】
(第2実施形態)
次に、本発明に係る物体検知装置の第2実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態の物体検知装置の構成は、
図1の構成と同じである。また、ECU11は、
図3のフローチャートの処理を実行する。このとき、S16の処理の詳細、つまり、精度低範囲の抽出方法が第1実施形態と異なっている。
【0084】
先ず、
図22を参照して、本実施形態における精度低範囲の抽出方法の考え方を説明する。
図22は、
図7のB部の拡大図であり、コーナー7a付近における反射点4の履歴の様子を示している。
図22では、ライン400より左側の反射面74は面角度が急の反射面としている。
図8で説明したように、面角度が急な反射面では、測距センサ2の移動量に対する検知距離の変化量が大きくなるので、三角測量の原理により推定された反射点の精度は悪くなる。よって、
図22に示すように、ライン400より左側の反射点41は、右側の反射点4に比べて、反射面74に対する誤差が大きくなる。そこで、S16では、反射点4の履歴から求まる反射面73の角度を算出する。そして、その角度が閾値以上となる反射面731を構成する反射点41の範囲40を精度低範囲として抽出している。
【0085】
以下、
図23を参照して、S16の処理の詳細を説明する。
図23はS16の詳細のフローチャートである。
図23に移行すると、先ず、例えば2台目開始点Car2Start=0か否かを判定することで、1台目の駐車車両71に対して処理を行うのか、2台目の駐車車両72に対して処理を行うのかを判断する(S171)。2台目開始点Car2Start=0の場合には(S171:Yes)、1台目の駐車車両71に対して処理を行うとして、S172に移行する。
【0086】
S172では、1台目終了点Car1Endにおける反射面角度RfltAngle(Car1End)を算出する。具体的には、1台目終了点Car1Endにおける反射点Rflt(Car1End)と、1つ前の計測カウント(Car1End−1)における反射点Rflt(Car1End−1)とで構成される反射面を求める。そして、その反射面の、X軸方向(車両6の移動方向)に対する角度をRfltAngle(Car1End)として算出する。
図22の例では、反射点411が反射点Rflt(Car1End)とすると、反射点411とその隣りの反射点413とで構成される反射面731aと、X軸方向に対応する基準線P6との角度γを反射面角度RfltAngle(Car1End)として算出する。
【0087】
次に、反射面角度RfltAngle(Car1End)が予め定められた閾値th3より大きいか否かを判断する(S173)。小さい場合には(S173:No)、S180に移行し、精度低範囲は存在しないと判断する。この場合には、車両6がコーナー付近に未だ到達していない状況や、到達しているがコーナーの面角度が緩やかとなっている状況が想定される。S180の後、
図23のフローチャートの処理を終了する。
【0088】
S173にて、反射面角度RfltAngle(Car1End)が閾値th3より大きい場合には(S173:Yes)、S174に移行する。S174では、着目する計測カウントjを1台目終了点Car1Endに設定する。次に、計測カウントjにおける反射面角度RfltAngle(j)を算出する(S175)。具体的には、S172と同様に、計測カウントjにおける反射点Rflt(j)と1つ前の計測カウントj−1における反射点Rflt(j−1)とを用いて、反射面角度RfltAngle(j)を算出する。
【0089】
次に、反射面角度RfltAngle(j)が閾値th3より小さいか否かを判断する(S176)。大きい場合には(S176:No)、S177に移行し、計測カウントjが1台目開始点Car1Startに達したか否かを判断する。未だ達していない場合には(S177:No)、S178に移行し、計測カウントjを1つ前の値に更新する(j=j−1)。その後、S175に戻って、更新後の計測カウントjに対して、上述のS175、S176の処理を行う。このように、S175〜S178の処理が繰り返されることで、1台目終了点Car1Endから1台目開始点Car1Startに向かって、閾値th3より大きい反射面角度を有した反射点の範囲が抽出される。
【0090】
S176において、反射面角度RfltAngle(j)が閾値th3より小さい場合には(S176:Yes)、S179に移行する。そして、範囲開始点AreaStart(精度低範囲の開始点に対応する計測カウント)を計測カウントj+1に設定する(S179)。また、範囲終了点AreaEnd(精度低範囲の終了点に対応する計測カウント)を1台目終了点Car1Endに設定する(S179)。また、端点CorrectEdgeを計測カウントjに設定する(S179)。つまり、S179では、計測カウントがj+1からCar1Endまでの範囲を精度低範囲として抽出する。
図22の例では、ライン400より左側の範囲40が精度低範囲として抽出されることになる。S179の後、
図23のフローチャートの処理を終了する。
【0091】
S177において、計測カウントjが1台目開始点Car1Startに達した場合には(S177:Yes)、S180に移行し、精度低範囲は存在しないと判断する。このようにしているのは、1台目終了点Car1Endから1台目開始点Car1Startまでの全範囲に亘って、反射面角度が閾値th3より大きくなっており、想定外の状況となっているためである。その後、
図23のフローチャートの処理を終了する。
【0092】
一方、S171において、2台目開始点Car2Start≠0の場合には(S171:No)、2台目の駐車車両72に対する処理を行うとして、S181に移行する。S181以降の処理では、上述のS172〜S180の処理と同様に、閾値th3より大きい反射面角度を有した反射点の範囲を精度低範囲として抽出する。このとき、2台目開始点Car2Startから2台目終了点Car2Endに向かって、精度低範囲を抽出する。
【0093】
すなわち、S181では、2台目開始点Car2Startにおける反射点Rflt(Car2Start)と、その次の計測カウント(Car2Start+1)における反射点Rflt(Car2Start+1)とを用いて、2台目開始点Car2Startにおける反射面角度RfltAngle(Car2Start)を算出する。
【0094】
次に、反射面角度RfltAngle(Car2Start)が閾値th3より大きいか否かを判断する(S182)。小さい場合には(S182:No)、S189に移行して、精度低範囲は存在しないと判断する。その後、
図23のフローチャートの処理を終了する。反射面角度RfltAngle(Car2Start)が閾値th3より大きい場合には(S182:Yes)、S183に移行する。S183では、着目する計測カウントjを2台目開始点Car2Startに設定する。次に、S175と同様に、計測カウントjにおける反射面角度RfltAngle(j)を算出する(S184)。次に、反射面角度RfltAngle(j)が閾値th3より小さいか否かを判断する(S185)。大きい場合には(S185:No)、S186に移行し、計測カウントjが2台目終了点Car2Endに達したか否かを判断する。未だ達していない場合には(S186:No)、S187に移行し、計測カウントjを次の値に更新する(j=j+1)。その後、S184に戻って、更新後の計測カウントjに対して上述のS184、S185の処理を行う。
【0095】
反射面角度RfltAngle(Car2Start)が閾値th3より小さい場合には(S185:Yes)、S188に移行する。そして、範囲開始点AreaStartを2台目開始点Car2Startに、範囲終了点AreaEndを計測カウントj−1に設定する(S188)。また、端点CorrectEdgeを計測カウントjに設定する(S179)。その後、
図23のフローチャートの処理を終了する。また、S186において、計測カウントjが2台目終了点Car2Endに達した場合には(S186:Yes)、S189に移行し、精度低範囲は存在しないと判断する。その後、
図23のフローチャートの処理を終了する。
【0096】
図3の説明に戻り、S16で精度低範囲を抽出した場合には(S17:Yes)、第1実施形態と同様に、S18でMethod=1のときには精度低範囲の反射点の補正を行う(S19〜S22)。このとき、
図22の反射点421(精度低範囲40の端に隣接する反射点)における反射波の到来方向を用いて、精度低範囲40における各反射点41の補正を行う。
図3のその他の処理は第1実施形態と同じである。
【0097】
以上説明したように、本実施形態によれば、第1実施形態と同様の効果を得ることができる。さらに、本実施形態では、閾値より大きい面角度の反射点の範囲を精度低範囲として抽出しているので、反射点の履歴に折り返しが発生していなくても、又は発生する前に、反射点の補正を行うことができる。
【0098】
(第3実施形態)
次に、本発明に係る物体検知装置の第3実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態の物体検知装置の構成は
図1の構成と同じである。また、ECU11は、
図3のフローチャートの処理を実行する。このとき、S20の処理の詳細、つまり精度低反射点の補正方法が上記実施形態と異なっている。
【0099】
先ず、
図24、
図25を参照して、本実施形態における精度低反射点の補正方法の考え方を説明する。
図24に示すように、測距センサ2から送信された探査波231が平面500に対して入射角αで入射したとする。このとき、反射の法則により、反射波232の反射角βは入射角αと等しくなる。よって、測距センサ2は、理論上、反射角βの方向に位置していなければ反射波232を受信できないが、実際は、入射角αがある程度小さいとき(面角度が緩やかなとき)には反射波232を受信できる。しかし、入射角αが大きいとき(面角度が急のとき)には、測距センサ2は反射波232を受信できなくなる。そして、本実施形態では、駐車車両のコーナー付近では、測距センサ2が反射波を受信できる限界の面角度となっている微小平面が連続しており、全体として凸曲面状となっていると仮定する。
【0100】
図25を参照してこの仮定及びこの仮定に基づく補正の考え方についてさらに説明する。
図25は、連続する3つの計測カウントj−2、j−1、jにおける測距センサのセンサ位置241、242、243と、センサ位置241、242で検知された反射点422、423を示している。それら反射点422、423は補正の必要のない又は補正済みの正常反射点である。なお、センサ位置243(対象センサ位置)での反射点41(補正対象反射点)は精度低反射点であり、
図25は、その反射点41を補正する場面を示している。今、測距センサがセンサ位置242(隣接センサ位置)にあるとすると、その測距センサは、反射点422、423から構成される反射面732(隣接反射面)で反射した反射波を受信したと考えることができる。上記仮定のもとでは、反射面732は、センサ位置242での測距センサが反射波を受信できる限界の面角度となっている。また、上記仮定のもとでは、反射面732に連続するように、センサ位置242にとって反射波を受信できる限界の面角度となっている反射面733が形成されていると考えることができる。それら反射面732、733で凸曲面状となっている。そして、測距センサがセンサ位置243にあるとすると、その測距センサは反射面733で反射した反射波を受信したと考えることができる。つまり、センサ位置243での真の反射点は反射面733上にあると考えることができる。よって、本実施形態では、反射面733を推定し、この反射面733上にくるように精度低反射点41を補正している。
【0101】
以下、
図26を参照して、本実施形態の補正方法の詳細を説明する。
図26は、
図3のS20の詳細のフローチャートである。
図26の処理に移行すると、先ず、計測カウントj−1での反射面RfltAngle(j−1)の法線方向を算出する(S191)。具体的には、
図25の例で説明すると、計測カウントj−1での反射点423(隣接反射点)と計測カウントj−2での反射点422とを結んだ直線732(反射面)をRfltAngle(j−1)として設定する。そして、反射面732に垂直な直線151を、RfltAngle(j−1)の法線として設定する。
【0102】
次に、計測カウントj−1での反射点Rflt(j−1)とセンサ位置Attd(j−1)とを結ぶ直線Line1(j−1)と、S191で算出した法線との成す角度dAngle(j−1)を算出する(S192)。
図25の例では、反射点423とセンサ位置242とを結ぶ直線152と法線151との成す角度δを算出する。
【0103】
次に、直線Line1(j−1)との成す角度が−dAngle(j−1)となる直線Line2(j−1)を算出する(S193)。
図25の例では、直線152との成す角度が−δとなる直線153を算出する。
【0104】
次に、反射点Rflt(j−1)を通り、直線Line2(j−1)に垂直な直線を、補正反射面CorrectLine(j)として算出する(S194)。
図25の例では、反射点423を通り、直線153に垂直な直線733を補正反射面CorrectLine(j)として算出する。上記仮定のもとでは、反射面RfltAngle(j−1)及び補正反射面CorrectLine(j)が、センサ位置Attd(j−1)で反射波を受信できる限界の面角度となる反射面とされる。そして、計測カウントjでは、この補正反射面CorrectLine(j)から反射波が返ってくると考えることができる。
【0105】
次に、補正反射面CorrectLine(j)と、計測カウントjでのセンサ位置Attd(j)を中心、検知距離L(j)を半径とする円弧との交点に、精度低反射点Rflt(j)を補正する(S195)。
図25の例では、直線733と、センサ位置243を中心、検知距離L(j)を半径とする円弧154との交点433に、精度低反射点41を補正する。S195の後、
図26のフローチャートの処理を終了する。
【0106】
図3の説明に戻り、S21において計測カウントjが範囲終了点AreaEndに未だ達していない場合は(S21:No)、計測カウントjを次の値に更新する(S22)。そして、更新後の計測カウントjに対してS20の処理を行う。このとき、前回のS20の処理で補正された補正反射点を、計測カウントj−1での反射点Rflt(j−1)とする。つまり、
図25の例では、補正反射点433を反射点Rflt(j−1)とする。そして、補正反射点433とその前の反射点423とから構成される反射面を反射面RfltAngle(j−1)とし、その反射面RfltAngle(j−1)に基づき、今回の計測カウントjでの補正反射面CorrectLine(j)を算出する。
図3のその他の処理は第1、第2実施形態と同じである。
【0107】
以上説明したように、本実施形態によれば、第1、第2実施形態と同様の効果を得ることができる。さらに、本実施形態では、反射点を補正した場合には、その補正反射点を用いて次の精度低反射点を補正しているので、どの精度低反射点の補正を行うときにも各精度低反射点に直近の正常反射点を補正に反映させることができる。
【0108】
(第4実施形態)
次に、本発明に係る物体検知装置の第4実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態の物体検知装置の構成は
図1の構成と同じである。また、ECU11は、
図3のフローチャートの処理を実行する。このとき、S20の処理の詳細、つまり精度低反射点の補正方法が上記実施形態と異なっている。なお、本実施形態の補正方法は、第1実施形態における精度低範囲40(
図9参照)の反射点41に対する補正に好適である。つまり、反射点の履歴に折り返しが発生した場合のその折り返し範囲における反射点の補正に好適である。
【0109】
図27、
図28を参照して、本実施形態の補正方法を説明する。
図27は、S20の詳細のフローチャートである。
図28は、
図7のB部の拡大図であり、コーナー7a付近の反射点4の様子を示している。
図28には、反射点4の履歴が折り返された範囲40(精度低範囲)と、その精度低範囲40における反射点41を補正した後の補正反射点434を図示している。
【0110】
図27の処理に移行すると、端点CorrectEdgeでの反射点Rflt(CorrectEdge)に対する、計測カウントjでの精度低反射点Rflt(j)の点対称となる点に、その精度低反射点Rflt(j)を補正する(S201)。
図28の例では、精度低範囲40の端に隣接する正常反射点421を反射点Rflt(CorrectEdge)として、その正常反射点421に対する各精度低反射点41の対称となる点に、各精度低反射点41を補正する。具体的には、例えば精度低反射点41aは点434aの位置に、精度低反射点41bは点434bの位置に、精度低反射点41cは点434cの位置に補正される。これによって、反射点4の履歴の折り返しを解消でき、コーナー7aの端面付近にまで反射点4の履歴を延ばすことができる。
図3のその他の処理は上記実施形態と同じである。
【0111】
以上説明したように、本実施形態によれば、上記実施形態と同様の効果を得ることができる。さらに、点対称の点を計算するだけで良いので、計算負荷を軽減できる。
【0112】
(第5実施形態)
次に、本発明に係る物体検知装置の第5実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態の物体検知装置の構成は
図1の構成と同じである。また、ECU11は、
図3のフローチャートの処理を実行する。このとき、S20の処理の詳細、つまり精度低反射点の補正方法が上記実施形態と異なっている。
【0113】
図29、
図30を参照して、本実施形態の補正方法を説明する。
図29は、S20の詳細のフローチャートである。
図30は、
図7のB部の拡大図であり、コーナー7a付近の反射点4の様子を示している。
図29の処理に移行すると、端点CorrectEdgeでの反射点Rflt(CorrectEdge)から、車両の移動方向又はその反対方向に予め定められた距離dだけオフセットした点に、計測カウントjでの精度低反射点Rflt(j)を補正する(S211)。なお、S211における車両の移動方向とは、計測カウントn=1における車両の移動方向(つまりX軸方向)であっても良いし、現時点における車両の移動方向であっても良い。このとき、
図30のように、コーナー7aの端面7a1がX軸方向(車両の移動方向)に向いているときには(1台目の駐車車両に対する処理を行うときには)、車両の移動方向にオフセットする。他方、
図11に示すように、コーナー72aの端面がX軸方向と反対方向(車両の移動方向と反対方向)に向いているときには(2台目の駐車車両に対する処理を行うときには)、車両の移動方向と反対方向にオフセットする。
図30の例では、端点となる正常反射点421からX軸方向に距離dだけオフセットした点435に、精度低反射点41を補正する。なお、実車試験により、反射点Rflt(CorrectEdge)とコーナーの端面間の距離の実験値をいくつか収集し、収集した実験値に基づき距離dを設定すれば良い。これによって、反射点の履歴の先端を、コーナーの端面のX座標付近にまで延ばすことができる。
【0114】
図3の説明に戻り、S21において計測カウントjが範囲終了点AreaEndに未だ達していない場合は(S21:No)、計測カウントjを次の値に更新する(S22)。そして、更新後の計測カウントjに対してS20の処理を行う。このとき、今回の精度低反射点Rflt(j)も、
図30の点435に補正される。つまり、本実施形態では、全ての精度低反射点が同じ位置に補正されることになる。なお、いずれか1つの精度低反射点のみを補正するようにしても良い。
図3のその他の処理は上記実施形態と同じである。
【0115】
以上説明したように、本実施形態によれば、上記実施形態と同様の効果を得ることができる。さらに、オフセット位置を計算するだけで良いので、計算負荷を軽減できる。
【0116】
(第6実施形態)
次に、本発明に係る物体検知装置の第6実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態は、角型の物体の場合には、反射点の履歴に代えて、検知距離(測距点)の履歴に基づき物体のコーナーの位置を決定する発明に対応する実施形態である。本実施形態の物体検知装置の構成は
図1の構成と同じである。ただし、ECU11が実行する駐車空間検知処理(物体検知処理)が上記実施形態と異なっている。以下、本実施形態の駐車空間検知処理(物体検知処理)を
図31〜
図33を参照して説明する。
図31は、コーナー付近が丸くなっている物体としての駐車車両7の検知場面を示している。なお、
図31では、縦列駐車の駐車車両7の検知場面を示しているが、並列駐車の駐車車両の検知場面にも本実施形態を適用できる。
図32は、コーナー付近が角型の(略直角に曲がった)物体としての角柱8(四角柱)の検知場面を示している。なお、
図32では、車両6が角柱8の正面81に対してほぼ平行に移動している。
図33は、本実施形態の駐車空間検知処理のフローチャートである。ECU11は、
図3の処理に代えて、
図33の処理を実行する。
図33の処理は、例えば駐車空間の検知を指示するスイッチ(図示外)が車両6の乗員に操作されたときに開始される。
【0117】
図33の処理を開始すると、先ず、以降の処理で使用する各種パラメータを初期化する(S31)。具体的には、
図3のS11と同様に、時間t(n)をゼロに設定し、計測カウントnを1に設定する(S31)。また、現在検知対象としている物体が角型の物体かそれ以外の物体(以下、丸型の物体という)かを示した物体フラグFlagObjを角型の物体であることを示した値NonRoundに設定する(S31)。
【0118】
次に、
図3のS12と同様に、計測カウントnでの検知距離L(n)を測距センサ2から取得する(S32)。次に、
図3のS13と同様に、計測カウントnでのセンサ位置Attdを算出する(S33)。次に、計測カウントnでのセンサ位置から測距センサ2の正面方向(車両6の側方)に検知距離L(n)だけ離れた測距点Dtctを算出する(S34)。この測距点Dtctは、
図33の処理を開始した時点における測距センサ2の位置を原点O、その時点の車両6の移動方向をX軸、そのX軸に垂直な方向をY軸とした座標系(
図31、
図32参照)における座標(DtctX(n)、DtctY(n))として算出する。これによって、後述するS42で計測カウントnが更新されるにしたがって(車両6が移動するにしたがって)、
図31、
図32に示すように、車両6の側方に存在する物体7、8の面7b、81に沿って測距点9の履歴(点列)をプロットすることができる。
【0119】
図31に示すように、検知対象とする物体が駐車車両7の場合には、コーナー7a付近が丸くなっており測距センサ2側に向いている。そのため、車両6(測距センサ2)が駐車車両7を通過した後もしばらくの間は、コーナー7a付近からの反射波は測距センサ2で受信される。その結果、コーナー7aの外側かつ駐車車両7の側面7bよりも奥行き方向側にプロットされる測距点973が存在する。よって、コーナー7a付近では、その測距点973と、側面7bに沿ってプロットされる測距点974とで、測距点9の履歴形状が曲線状となる。これに対し、
図32の角柱8の場合には、上記「発明が解決しようとする課題」で説明したように、測距点9の履歴範囲は、角柱8の正面81の範囲とほぼ一致する。よって、角柱8のコーナー8a付近では、測距点9の履歴形状が直線状となる。S35以降の処理では、コーナー付近における測距点(検知距離)の履歴形状が曲線状か直線状かによってコーナー位置の決定方法を変更している。
【0120】
すなわち、S35では、物体フラグFlagObjがNonRoundに設定されているか否かを判断する。S31で物体フラグFlagObjの初期値をNonRoundとしているので、S35では、初回は、物体フラグFlagObjがNonRoundに設定されている判断する(S35:Yes)。次に、コーナー付近の測距点の履歴形状が曲線状となっているか直線状となっているかを判断する(S36)。具体的には、例えば、測距点の履歴において、測距点が急激に変化する点を端点とし、その端点付近の範囲(例えば端点から1、2mの範囲)に含まれる測距点の履歴形状を判定する。このとき、例えば、測距点の履歴を曲線で近似したときと、直線で近似したときとで、どちらが良好に測距点の履歴を近似できるかを判断する。そして、曲線で近似したときのほうが良好に近似できるときには、測距点の履歴形状は曲線状であると判断する。これに対し、直線で近似したときのほうが良好に近似できるときには、測距点の履歴形状は直線状であると判断する。
【0121】
S36において、測距点の履歴形状が曲線状の場合には(S36:Yes)、S37に移行し、物体フラグFlagObjを、丸型の物体であることを示した値Roundに設定する。次に、
図3のS15と同様にして、検知距離Lの履歴とセンサ位置Attdの履歴とを用いて、三角測量の原理により(上記式1〜式6により)、反射点Rflt(RfltX(n)、RfltY(n))を算出する(S38)。次に、反射点Rfltの履歴の端点RfltEdgeを、物体のコーナーの位置として決定する(S39)。
図31の例では、反射点4の履歴の端点46が、駐車車両7のコーナー7aの位置に決定される。これにより、測距点9の履歴の端点971をコーナー7aの位置に決定したときよりも、実際のコーナー7aの位置に近づけることができる。
【0122】
次に、
図3のS26と同様に、
図33の処理の終了指示があるか否かを判断する(S41)。終了指示がない場合には(S41:No)、S42に移行し、計測カウントnを次の値に更新する(n=n+1)。その後、S32に戻って、更新後の計測カウントnに対して、上述のS32〜S41を実行する。このとき、前回のS37の処理で、物体フラグFlagObjがRoundに設定されたので、今回のS35では、物体フラグFlagObjはRoundに設定されていると判断する(S35:No)。次にS38に移行して、反射点を算出する。つまり、測距点の履歴形状が一旦曲線状であると判断されたときには、以降はその履歴形状が判定されないで、計測カウントnが更新されるにしたがって反射点が逐次算出されていく。
【0123】
一方、S36において、測距点の履歴形状が直線状の場合には(S36:No)、S40に移行する。S40では、反射点の算出を行わないで、測距点の履歴の端点DtctEdgeを物体のコーナーの位置として決定する。
図32の例では、測距点9の履歴の端点972が角柱8のコーナー8aの位置として決定される。これにより、反射点でコーナー8aの位置を決定したときよりも、実際のコーナー8aの位置に近づけることができる。
【0124】
次に、S41に移行し、
図33の処理の終了指示があるか否かを判断する。終了指示がない場合には(S41:No)、S42に移行し、計測カウントnを次の値に更新する(n=n+1)。その後、S32に戻って、更新後の計測カウントnに対して、上述のS32〜S41を実行する。このとき、S36で再度履歴形状を判定しているので、前回までは履歴形状が直線状であると判定した場合であっても、今回履歴形状が曲線状であると判定したときには、コーナー位置の決定方法を測距点の履歴を用いた方法から反射点の履歴を用いた方法に切り替えることができる。これは、前回までは、駐車車両7のコーナー7a付近まで車両6がまだ到達しておらず、今回は車両6がコーナー7a付近に到達した状況が想定される。
【0125】
その後、終了指示があった場合には(S41:Yes)、
図33のフローチャートの処理を終了する。
【0126】
以上説明したように、本実施形態では、角型の物体を検知するときには、反射点を算出しないで、測距点の履歴からコーナーの位置を決定しているので、計算負荷を軽減できるとともに、コーナーの検知精度を向上できる。これによって、例えば立体駐車場、地下駐車場等の屋内駐車場のように、駐車空間が角柱で区切られている場合でも、その駐車空間を高精度に検知できる。
【0127】
(第7実施形態)
次に、本発明に係る物体検知装置の第7実施形態を上記実施形態と異なる部分を中心にして説明する。本実施形態は、第6実施形態に関連する実施形態である。本実施形態の物体検知装置の構成は
図1の構成と同じである。ただし、ECU11が実行する駐車空間検知処理(物体検知処理)が上記第6実施形態と一部異なっている。以下、本実施形態の駐車空間検知処理(物体検知処理)を
図32、
図34、
図35を参照して説明する。
図34は、車両6の移動方向P1に対して斜めに傾いている角柱8に対する検知場面を示している。
図35は、本実施形態のECU11が実行する駐車空間検知処理のフローチャートである。なお、
図35では、
図33と同一の処理には同一符号を付している。
図35の処理は、
図33の処理に比べて、S36がNoになった場合の処理が異なっており、それ以外は同じである。以下では、
図35の処理のうち、
図33と同一処理の説明を省略し、異なる処理の説明をする。
【0128】
S36において、測距点の履歴形状が直線状の場合には(S36:No)、S43に移行する。S43では、検知距離(測距点)の履歴に対する近似直線を最小二乗法等を利用して算出する。
図34には、測距点9の履歴に対する近似直線601を図示している。次に、S43で算出した近似直線に基づいて、車両の移動方向に対する角型の物体の傾きを算出する(S44)。なお、この移動方向は、計測カウントn=1における車両の移動方向(つまりX軸方向)で有っても良いし、現時点の車両の移動方向であっても良い。
図34の例では、車両6の移動方向P1(X軸方向)に対する近似直線601の傾きを算出する。次に、S44で算出した傾きに基づき、物体が傾いているか否かを判断する(S45)。具体的には、S44で算出した傾きが予め定められた閾値角度(例えば10度)以上のときに物体が傾いていると判断し、傾きが閾値角度未満のときには物体は傾いていないと判断する。例えば、
図32の角柱8は傾いていないと判断され、
図34の角柱8は傾いていると判断される。
【0129】
S45において、物体は傾いていないと判断した場合には(S45:No)、S46に移行する。S46では、検知距離の履歴の平均値Lavgを算出する。次に、測距点の履歴の端点DtctEdgeにおけるX座標DtctEdgeXを、物体のコーナーのX座標とする(S47)。また、平均値Lavgを、物体のコーナーのY座標とする(S47)。別の言い方をすると、端点DtctEdgeにおけるセンサ位置AttdからY軸方向に平均値Lavgだけ離れた点を、物体のコーナーの位置として決定する(S47)。これにより、検知距離に誤差があったとしても、平均値Lavgを用いることで、誤差の影響を低減できる。よって、コーナーの位置を安定して検知することができる。S47の後、S41に移行する。
【0130】
一方、S45において、物体が傾いていると判断した場合には(S45:Yes)、S48に移行する。S48では、端点DtctEdgeを通るY軸に平行なラインと、S43で算出した近似直線の交点を、物体のコーナーの位置として決定する。
図34の例では、端点972を通るY軸に平行なライン155と近似直線601の交点602が、物体8のコーナーの位置として決定される。このように、近似直線上に点にコーナーの位置を決定することで、物体が傾いていた場合であっても、検知距離の誤差の影響を低減した、安定したコーナーを検知できる。S48の後、S41に移行する。
【0131】
以上説明したように、本実施形態によれば、上記第6実施形態の効果に加え、物体が傾いているかいなかにかかわらず、コーナーの位置を安定して検知することができる。
【0132】
なお、本発明に係る物体検知装置は上記実施形態に限定されるものではなく、特許請求の範囲の記載を逸脱しない限度で種々の変更が可能である。上記第1〜第5実施形態では、並列駐車した駐車車両(並列駐車用の駐車空間)の検知に本発明を適用した例を説明したが、縦列駐車した駐車車両(縦列駐車用の駐車空間)の検知に本発明を適用しても良い。また、上記第1〜第5実施形態のフローチャートでは、1台目の駐車車両に対する処理と、2台目の駐車車両に対する処理とを分けているが、1台目、2台目にかかわらず駐車車両のコーナー付近の反射点を検知するたびに、精度低範囲の抽出及び精度低反射点の補正を行うようにしてもよい。
【0133】
また、上記第6、第7実施形態では、角型の物体として四角柱の例に挙げたが、コーナーが角型であるのであれば、三角柱など他の形状の角柱にも本発明を適用できる。また、角柱以外の角型の物体(例えば壁、ワンボックスなどの角型の車両)の検知にも本発明を適用できる。
【0134】
また、第1〜第5実施形態の発明と第6、第7実施形態の発明とを組み合わせても良い。具体的には、例えば、
図33のS31〜S36を実行し、S36で測距点の履歴形状が直線状の場合には、反射点の算出を中止して測距点の履歴から物体のコーナーの位置を決定する(第6、第7実施形態の発明)。これに対し、S36で測距点の履歴形状が曲線状の場合には、
図3のS14以降の処理を実行して、精度低範囲を抽出するとともに抽出した精度低範囲における反射点を補正し(S18:Yesの場合)、又は直接コーナーを決定する(S18:Noの場合)。
【0135】
また、上記実施形態では、駐車空間の検知場面に本発明を適用した例を説明したが、周囲に他車両等の障害物が存在する狭い道路のすり抜け支援に本発明を適用しても良い。この場合には、本発明の物体検知装置で周囲の障害物を検知し、その検知結果に基づき、例えばすり抜けができるようにステアリング支援(どれくらいステアリングをきったほうが良いかのアナウンスや、自動ステアリング)を行う。また、前向き駐車の状態からバックで発進するときのように、駐車状態からの発進支援に本発明を適用しても良い。この場合もすり抜け支援と同様に、本発明の物体検知装置で車両の発進方向に存在する障害物(壁など)を検知し、その検知結果に基づき例えばステアリング支援を行う。