(58)【調査した分野】(Int.Cl.,DB名)
自車両(6)の移動にともなって逐次前記自車両周囲に探査波を送信し前記探査波の反射波に基づいて前記自車両から前記自車両周囲に存在する駐車車両(70、71、72)までの距離を逐次検知する距離検知手段(20)と、
前記自車両の移動状態を検知する状態検知手段(31、32)と、
前記移動状態に基づいて、前記距離を検知するときの前記距離検知手段の位置である基準位置を算出する位置算出手段(S13)と、
前記距離検知手段が検知した検知距離の履歴と前記位置算出手段が算出した前記基準位置の履歴とに基づいて、隣り合う2つの前記基準位置と前記検知距離とで形成される三角形の前記基準位置以外の頂点である反射点(8、81、82、83、84)を推定する反射点推定手段(S14)とを備える、前記反射点に基づいて前記駐車車両に隣接する駐車空間(5)を検知する駐車空間検知装置(1)であって、
各々の前記基準位置ごとに、前記基準位置を基準とする障害物非存在範囲(40、41、42、43、44、45、451、452)を当該基準位置における前記検知距離に基づいて設定する非存在範囲設定手段(S15、S16)と、
前記非存在範囲設定手段が設定した各々の前記障害物非存在範囲に前記反射点が入っているか否かを判定する反射点判定手段(S17〜S22、S24〜S27)と、
前記反射点判定手段が前記障害物非存在範囲に入っていると判定した前記反射点を無効とする反射点無効手段(S23)と、を備えることを特徴とする駐車空間検知装置(1)。
前記反射点無効手段は、前記反射点判定手段が、所定数の前記障害物非存在範囲に入っていると判定した前記反射点を無効とすることを特徴とする請求項1に記載の駐車空間検知装置。
前記関連データに基づいて、現在着目している前記基準位置である着目基準位置を基準とする前記距離検知手段による障害物の検知範囲を着目検知範囲(25)として設定する検知範囲設定手段(S143、S47)を備え、
前記反射点推定手段は、前記着目基準位置での前記反射点を推定するときに当該反射点が前記着目検知範囲に入っている場合のみ当該反射点を有効にし、
前記反射点判定手段は、前記着目検知範囲と少なくとも一部が重複した前記障害物非存在範囲(45、451、452)に、前記着目基準位置における前記反射点が入っているか否かを判定することを特徴とする請求項3〜8のいずれか1項に記載の駐車空間検知装置。
【発明を実施するための形態】
【0010】
(第1実施形態)
以下、本発明に係る駐車空間検知装置の第1実施形態を説明する。
図1は、本実施形態の駐車支援システム1のブロック図を示している。駐車支援システム1は自車両6(
図2参照)に搭載されている。駐車支援システム1は、駐車支援ECU10と、その駐車支援ECU10に接続された測距センサ20、車速センサ31及び操舵角センサ32とを備えている。測距センサ20は、駐車支援ECU10からの指示に基づいて、自車両6の側方に向けて超音波等の探査波を逐次送信し、その探査波が障害物に当たって反射した反射波を逐次受信する。そして、測距センサ20は、探査波の送信タイミングと反射波の受信タイミングに基づいて、障害物までの距離を検知するセンサである。測距センサ20で検知された検知情報(検知距離)は駐車支援ECU10に入力される。測距センサ20は、探査波を送信しその探査波の反射波を受信するセンサであれば良く、音波を用いるものであっても、光波を用いるものであっても、電波を用いるものであっても良い。測距センサ20としては、例えば超音波センサ、レーザレーダ、ミリ波レーダ等のセンサを用いることができる。
【0011】
測距センサ20は、自車両6の側方に探査波を送信するように、
図2に示すように例えば自車両6の左右側面に1つずつ配置される。
図2には、測距センサ20による障害物の検知範囲21を示している。その検知範囲21の指向性φ(探査波の放射範囲角度)は例えば70°〜120°程度となっている。検知範囲21の中心線(測距センサ20の正面方向)は、例えば自車両6の車幅方向(左右方向)に略平行の向きとなっている。なお、その中心線は、車幅方向に対して例えば20°程度まで傾いていても良い。また、測距センサ20が障害物を検知可能な最大検知距離MaxL(測距センサ20と検知範囲21の先端間の距離)は例えば4m〜10m程度となっている。
【0012】
車速センサ31は自車両6の車速を検知するセンサである。車速センサ31で検知された検知情報(車速)は駐車支援ECU10に入力される。操舵角センサ32は自車両6のステアリングの操舵角を検知するセンサである。自車両6が直進状態で走行するときの操舵角を中立位置(0度)とし、その中立位置からの回転角度を操舵角として出力する。操舵角センサで検知された検知情報(操舵角)は駐車支援ECU10に入力される。
【0013】
駐車支援ECU10は、CPU、ROM、RAM等から構成されたマイコンを主体として構成され、測距センサ20、車速センサ31、操舵角センサ32から入力された各検知情報に基づいて、自車両6の駐車を支援する各種処理を実行する。具体的には、駐車支援ECU10は、駐車空間を検知する空間検知処理や、その処理で検知した駐車空間に自車両6を自動で駐車させる自動駐車処理を実行する。駐車支援ECU10が実行する処理の詳細は後述する。また、駐車支援ECU10は、測距センサ20の検知範囲21(
図2参照)に関連する関連データが記憶されたROM等のメモリ11を備えている。具体的には、メモリ11には、関連データとして、測距センサ20の指向性φ(探査波の放射範囲角度)や、測距センサ20の最大検知距離MaxLが記憶されている。また、メモリ11には、関連データとして、予め計測された、検知範囲21を示した計測データが記憶されたとしても良い。
【0014】
ここで、
図2を参照して、駐車支援ECU10による駐車空間の検知方法の考え方を説明する。
図2は、駐車支援ECU10による駐車空間の検出場面の一例を示した模式図である。
図2では、縦に並んだ2台の駐車車両71、72(以下、駐車車両71、72を区別しないときには符号70を使用する)の側方経路を自車両6が移動しながら、それら駐車車両71、72間の駐車空間5(縦列駐車用の駐車空間)を検知する場面を示している。なお、
図2に示す矢印の方向(
図2の紙面上方向)が自車両6の進行方向を示している。
図2では、自車両6が、手前側の第1の駐車車両71の側方領域を通過した後の、奥側の第2の駐車車両72の側方領域を通過する手前の状態を示している。駐車支援ECU10は、駐車空間を検知しようとするときには、測距センサ20に指示をして自車両6の側方に存在する障害物(駐車車両70)までの距離を一定時間おきに逐次検知させる。このとき、自車両6が移動しているとすると、自車両6の位置に応じた、測距センサ20による検知距離が逐次得られる。
図2には、各位置での検知距離をプロットした点9(以下、測距点という)を×で示している。具体的には、測距点9は、測距センサ20が検知距離を検知したときの測距センサ20の位置(以下、センサ位置という)から、測距センサ20の正面方向に検知距離だけ離れた点とされる。なお、
図2には、測距センサ20の位置変化を示したライン22を図示している。各測距点9は、ライン22(センサ位置)を基準としてプロットされている。
【0015】
図2に示すように、測距点9のうち、符号91で示した測距点は、測距センサ20の正面に駐車車両70が位置しているときに検知された測距点である。そのため、測距点91は、駐車車両70の側面と略一致した位置にプロットされている。一方、符号92で示した測距点は、測距センサ20の正面に駐車車両70が位置していないときに検知された測距点である。測距点92で示されるように、駐車車両70の側方領域に自車両6(測距センサ20)が入る少し前から測距センサ20による検知が有り、その側方領域を出た後も少しの間は測距センサ20による検知が続く。これは、測距センサ20はある程度広い指向性φを有しているためである。また、測距点92に対応する検知距離は、測距センサ20が駐車車両70から離れている分だけ、大きい値となる。そのため、測距点92は測距点91よりもライン22から離れた位置にプロットされている。
【0016】
また、自車両6が駐車空間5の側方を通過しているときには、測距センサ20による検知がなくなる区間がある。よって、その区間の長さを求めることで一応、駐車空間5を検知できる。しかし、上記したように、測距点9は駐車車両70の側面以外の位置にプロットされる測距点92があるので、測距点9に基づいて検知された駐車空間(第1の駐車車両71に基づいて検知された最後の測距点93と、第2の駐車車両72に基づいて検知された最初の測距点94間の距離)は、実際の駐車空間5よりも狭くなる。そこで、駐車支援ECU10は、測距点9から直接駐車空間5を検知するのではなく、測距点9から駐車車両70上の点8(反射点、
図2の黒丸)を算出して、その反射点8に基づいて駐車空間5を検知している。
【0017】
ここで、
図3を参照して反射点8の算出方法を簡単に説明する。
図3には、ある時点t(n)における測距センサ20のセンサ位置231と、時点t(n)の1つ前の時点t(n−1)における測距センサ20のセンサ位置232とを示している。これらセンサ位置231、232から送信された測距センサ20の探査波は、駐車車両70の同一点81で反射すると仮定する。センサ位置231での検知距離がL1、センサ位置232での検知距離がL2とすると、
図3に示すように、センサ位置231、232、検知距離L1、L2で三角形51を作ることができる。そして、検知距離L1、L2が精度の高い値とすると、三角形51の頂点は、駐車車両70上の実際の反射点81とほぼ一致する。要するに、駐車支援ECU10は、測距センサ20による検知距離の履歴(隣りの時点における2つの検知距離)と、センサ位置の履歴(隣りの時点における2つのセンサ位置)とに基づく三角測量により、反射点8を算出している。なお、反射点8のさらに詳細な算出方法は後述する。
【0018】
そして、算出した反射点8の精度が高ければ、
図2の符号81で示すように、駐車車両70の側面に沿って複数の反射点81をプロットすることができる。そして、それら反射点81に基づいて駐車車両70の正確な輪郭を推定することができ、その結果、高精度に駐車空間5を検知できる。
【0019】
一方、「発明が解決しようとする課題」の欄で記載したように、障害物の形状や風の影響によって障害物からの反射波の強度が変動する。その反射強度の変動が起因して、測距センサ20による検知距離の精度が低くなることがある。このとき、精度が低い検知距離に基づいて算出された反射点の精度も低くなる。つまり、
図3に示すように、センサ位置231での検知距離が精度の低い値L1’、センサ位置232での検知距離が精度の低い値L2’とすると、それら検知距離L1’、L2’で算出される反射点82は、実際の反射点81とは全く異なる位置となってしまう。よって、
図2に示すように、反射点8の中には、精度の高い反射点81の他に、精度の低い反射点82もいくつか含まれることがある。この反射点82を含む反射点8に基づいて駐車空間5を検知しようとすると、その検知精度が低くなってしまう。そこで、駐車支援ECU10は、精度の低い反射点82を無効にする処理(反射点の有効、無効を判定する処理)を実行している。以下、その処理の詳細を説明する。
【0020】
図4は、駐車支援ECU10が駐車空間を検知するときに実行する処理のフローチャートである。
図2の場面を想定して、
図4の処理を説明する。この
図4の処理は、例えば駐車支援の開始を指示するスイッチ(図示外)が自車両6の乗員に操作されたことに基づいて、開始される。
図4の処理を実行する間、駐車支援ECU10は、測距センサ20に指示をして、自車両6の側方に存在する障害物(駐車車両70)までの距離を逐次検知させる。またこのとき、自車両6は駐車車両71、72(
図2参照)の側方経路を移動しているとする。先ず、現在時間を示したパラメータt(n)をゼロに設定する(S11)。また、距離の計測カウントを示したパラメータnを1に設定する(S11)。なお、計測カウントnは、測距センサ20が距離を検知する度に1ずつ増加していく。そして、駐車支援ECU10は、各計測カウントnでの時間t(n)(t(1)を基準とした時間)を計測している。
【0021】
次に、計測カウントnにおける測距センサ20が検知した検知距離L(n)を取得する(S12)。次に、計測カウントnにおける(検知距離L(n)を検知したときにおける)測距センサ20のセンサ位置Attd(n)を算出する(S13)。このセンサ位置Attd(n)は、例えば、
図4の処理開始時点における自車両6の位置を原点、自車両6の進行方向をX軸、そのX軸に直角なY軸から構成された座標系(以下、基準座標系という)における座標(AtttdX(n)、AttdY(n))として算出される。具体的には、計測カウントnにおける時間t(n)、車速センサ31による車速及び操舵角センサ32による操舵角に基づいて、センサ位置Attd(n)を算出する。なお、時間t(n)と車速によって原点からの自車両6の距離を算出でき、操舵角によって、自車両6の進行方向を算出できる。なお、S13で算出されるセンサ位置Attd(n)が本発明における「基準位置」に相当する。
【0022】
次に、S13で算出したセンサ位置Attd(n)における反射点8の位置Rflt(n)を三角測量により算出する(S14)。この反射点位置Rflt(n)も基準座標系における座標(RfltX(n)、RfltY(n))として算出する。ここで、
図5は、反射点位置Rflt(n)の算出方法を説明する図である。詳細には、
図5は、現時点t(n)(計測カウントn)における自車両6(n)(実線で図示)と、1つ前の時点t(n−1)(計測カウント(n−1))における自車両6(n−1)(破線で図示)と、駐車車両70とを上から見た図を示している。
【0023】
図5に示すように、計測カウントnにおけるセンサ位置Attd(n)及び検知距離L(n)と、計測カウント(n−1)におけるセンサ位置Attd(n−1)及び検知距離L(n−1)とで構成される三角形53を考える。
図6はその三角形53だけを抜き出した図を示している。センサ位置Attd(n)、Attd(n−1)の座標成分に基づいて、それら位置間の辺531のベクトル成分(AttdBktX、AttdBktY)とそのベクトルの絶対値AttdBktとを算出する。また、辺531と検知距離L(n)の辺532との角度をθ(n)とすると、角度θ(n)は次の式1で算出できる。
【数1】
【0024】
そして、角度θ(n)、上記のベクトル成分(AttdBktX、AttdBktY)、絶対値AttdBktを用いて以下の式2〜式6の計算をすることで、三角形53の頂点の座標、つまり反射点8の位置Rflt(n)のX座標RfltX(n)(式5)及びY座標RfltY(n)(式6)を得ることができる。
【数2】
【数3】
【数4】
【数5】
【数6】
【0025】
図4の説明に戻って、次に、後述する障害物非存在範囲を算出するために、先ず現時点のセンサ位置Attd(n)を基準として障害物が非存在となる非存在距離NoObjL(n)を算出する(S15)。この非存在距離NoObjL(n)は、センサ位置Attd(n)を基準とする障害物非存在範囲を設定するときに、その障害物非存在範囲の先端とセンサ位置Attd(n)の間の距離に相当するパラメータである。ここで、
図7は、S15の詳細を示したフローチャートである。
図7の処理に移行すると、先ず、センサ位置Attd(n)での測距センサ20による距離検知の有無を判断する(S151)。距離検知が有る場合には(S151:Yes)、S152に進む。
【0026】
S152では、非存在距離NoObjL(n)を算出するときに、検知距離L(n)から所定量dL差し引くモードが設定されているか否かを判断する(S152)。別の言い方をすると、測距センサ20による検知距離にはいくらかは計測誤差を含んでいるので、その計測誤差(所定量dL)を考慮して、非存在距離NoObjL(n)を算出するか否かを判断する(S152)。モードが設定されているか否かは、例えば駐車支援ECU10のROMに記憶された制御プログラムによって予め決められている。モードが設定されている場合には(S153:Yes)、S153に進む。S153では、駐車支援ECU10のメモリに予め記憶された所定量dLを検知距離L(n)から差し引いた値を、非存在距離NoObjL(n)に設定する(S153)。つまり、NoObjL(n)=L(n)−dLを計算する。なお、所定量dLは、測距センサ20の計測誤差を考慮して設定されており、例えば10cm程度に設定されている。所定量dLは、検知距離L(n)の値によらず一定値としても良いし、検知距離L(n)に所定割合(例えば5%)を乗じた値としても良い。
【0027】
検知距離L(n)が真値よりも所定量dL長く計測された場合には(例えば、真値が1mのところを1m10cmと計測された場合)、検知距離L(n)から所定量dL手前までの範囲(例えば1mから1m10cmまでの範囲)には障害物が存在している可能性がある。そして、計測誤差を含む検知距離L(n)をそのまま非存在距離NoObjL(n)に設定すると、実際には有効な反射点を無効とする可能性がある。よって、S153において、検知距離L(n)から所定量dL差し引くことで、実際には有効な反射点を無効としてしまうのを防止できる。S153の処理の後、
図7のフローチャートの処理を終了して、
図4の処理に戻る。
【0028】
S152において、モードが設定されていない場合には(S152:No)、S154に進む。S154では、検知距離L(n)をそのまま非存在距離NoObjL(n)に設定する(NoObjL(n)=L(n))。これによって、S153に比べて簡単に非存在距離NoObjL(n)を設定できる。S154の処理の後、
図7のフローチャートの処理を終了して、
図4の処理に戻る。
【0029】
一方、S151において、センサ位置Attd(n)にて測距センサ20が距離検知できなかった場合には(S151:No)、S155に進む。測距センサ20が距離検知できなかったということは、測距センサ20の検知範囲21には障害物が存在しなかったと推定できる。そこで、S155では、測距センサ20の最大検知距離MaxLをメモリ11から読み出す。そして、その最大検知距離MaxLを非存在距離NoObjL(n)に設定する(NoObjL(n)=MaxL)。これによって、距離検知できなかったセンサ位置Attd(n)に対しても後述するS16の処理で障害物非存在範囲を設定できる。S155の処理の後、
図7のフローチャートの処理を終了して、
図4の処理に戻る。
【0030】
図7の処理から
図4の処理に戻ると、次にS16に進む。S16では、センサ位置Attd(n)を基準として障害物が非存在となる範囲である障害物非存在範囲NoObjArea(n)を算出する(S16)。なお、測距センサ20による検知距離は、測距センサ20の検知範囲21(
図2参照)に存在する障害物の中で測距センサ20から最も近い障害物までの距離である。このことは、検知範囲21内で、センサ位置から検知距離以内の範囲(障害物非存在範囲)には障害物が無かったということでもある。S16ではこの考え方に基づいて、障害物非存在範囲NoObjArea(n)を算出している。ここで、
図8は、S16の詳細を示したフローチャートである。
【0031】
図8の処理に移行すると、先ず、メモリ11(
図1参照)に、測距センサ20の検知範囲21の計測データが記憶されているか否かを判断する(S161)。記憶されている場合には(S161:Yes)、S162に進む。S162では、メモリ11から検知範囲21の計測データを読み出して、その計測データを用いて障害物非存在範囲NoObjArea(n)を算出する(S162)。具体的には、基準座標系において、センサ位置Attd(n)を基準とした、計測データで示される測距センサ20の検知範囲(以下計測検知範囲と言う)を設定する。このとき、自車両6に対する測距センサ20の搭載角度(自車両6の進行方向に対する探査波の送信方向。例えば90度)を予めメモリ11に記憶しておく。そして、時間t(n)での自車両6の進行方向に対してメモリ11に記憶された搭載角度となるように、計測検知範囲の向きを設定する。なお、時間t(n)での自車両6の進行方向は操舵角センサ32の検知情報で特定できる。そして、計測検知範囲内で、センサ位置Attd(n)からの距離が、S15で設定した非存在距離NoObjL(n)以内の範囲を、障害物非存在範囲NoObjArea(n)に設定する。ここで、
図9、
図10は、S162で設定される障害物非存在範囲NoObjArea(n)の概念図を示している。詳細には、
図9は、測距センサ20による距離検知がある場合における障害物非存在範囲41を示している。また、
図10は、測距センサ20による距離検知が無い場合における障害物非存在範囲42を示している。
【0032】
図9に示すように、測距センサ20による距離検知がある場合には、計測検知範囲24内で、測距センサ20から距離13以内の範囲41が障害物非存在範囲とされる。なお、距離13は、先の
図7のS153又はS154で設定した非存在距離NoObjL(n)である。また、
図10に示すように、測距センサ20による距離検知が無い場合には、先の
図7のS155で非存在距離NoObjL(n)が最大検知距離MaxLに設定されているので、測距センサ20を基準とする計測検知範囲24がそのまま障害物非存在範囲42とされる。このように、計測データを用いることで、実際の検知範囲21(
図2参照)の形が反映された障害物非存在範囲を設定できる。S162の処理の後、
図8のフローチャートの処理を終了して
図4の処理に戻る。
【0033】
S161において、計測データが無い場合には(S161:No)、S163に進む。S163では、メモリ11から測距センサ20の指向性φのデータを読み出して、そのデータを用いて障害物非存在範囲NoObjArea(n)を算出する(S163)。具体的には、
図11、
図12に示すように、測距センサ20(センサ位置Attd(n))を中心、S15で設定した非存在距離NoObjL(n)を半径、指向性φを中心角とする円弧内の範囲を、障害物非存在範囲NoObjArea(n)に設定する。このとき、S162と同様に、指向性φの向きは、メモリ11に記憶された測距センサ20の搭載角度に基づいて設定する。
図11は、測距センサ20による距離検知がある場合における障害物非存在範囲43を示している。
図12は、測距センサ20による距離検知が無い場合における障害物非存在範囲44を示している。
【0034】
図11に示すように、測距センサ20による距離検知がある場合には、先のS153又はS154で設定した非存在距離13を半径とする円弧26内の範囲43が障害物非存在範囲とされる。また、
図12に示すように、測距センサ20による距離検知が無い場合には、先の
図7のS155で非存在距離として設定した最大検知距離MaxLを半径とする円弧27内の範囲44が障害物非存在範囲とされる。このように、計測データの代わりに指向性φのデータを用いることで簡易に障害物非存在範囲を設定できる。S163の処理の後、
図8のフローチャートの処理を終了して
図4の処理に戻る。
【0035】
ここで、
図13は、
図2に対してS16にて算出された障害物非存在範囲40を図示した図である。なお、
図13では、S163の円弧の障害物非存在範囲40を図示している。各時間t(n)(計測カウントn)ごとに上述したS12〜S16の処理が実行されることで、
図13に示すように、自車両6の移動にともなって変化するセンサ位置221ごとに障害物非存在範囲40が算出される。なお、
図13の状態は、駐車支援ECU10が設定した基準座標系内に展開した状態とされる。そして、
図4のS17以下で障害物非存在範囲40内の反射点82を無効とする処理を行っている。
【0036】
具体的には、S17では、現在着目する反射点の計測カウントを示したパラメータiを1に設定する(S17)。また、着目している反射点8(計測カウントiでの反射点)が、いくつの障害物非存在範囲40(
図13参照)に入っているか(障害物非存在範囲40に何回入ったか)を示したパラメータNoObjCountをゼロに設定する(S17)。
【0037】
次いで、現在までに設定した障害物非存在範囲NoObjArea(1)〜NoObjArea(n)のうち、計測カウントiでの反射点8が入っているか否かの判定対象とする障害物非存在範囲の範囲(以下、判定対象範囲と言う)を示したパラメータJ0、J1を算出する(S18)。ここで、パラメータJ0は、判定対象範囲のうち最も古い時点で設定され障害物非存在範囲の計測カウントを示している。パラメータJ1は、判定対象範囲のうち、最も新しい時点で設定された障害物非存在範囲の計測カウントを示している。この第1実施形態では、現在までに設定した全ての障害物非存在範囲NoObjArea(1)〜NoObjArea(n)を判定対象範囲としている。そのため、S18では、J0=1、J1=nに設定する。
【0038】
次いで、現在着目している障害物非存在範囲の計測カウントjをJ0(=1)に設定する(S19)。つまり、最初の障害物非存在範囲NoObjArea(1)に着目する。次いで、計測カウントiでの反射点8の反射点位置Rflt(i)が、計測カウントjにて設定された障害物非存在範囲NoObjArea(j)内に入っているか否かを判断する(S20)。入っていない場合には(S20:No)、S24に進む。S24では、jに1を加算した値が、パラメータJ1(=n)より大きくなったか否か、つまり、j+1>J1を満たすか否かを判断する(S24)。j+1>J1を満たしていない場合には(S24:No)、計測カウントjに1を加算する(S25)。つまり、次の時点の障害物非存在範囲NoObjArea(j+1)に着目する。そして、反射点位置Rflt(i)が、次の時点の障害物非存在範囲NoObjArea(j+1)内に入っているか否かを判断する(S20)。
【0039】
S20において、反射点位置Rflt(i)が障害物非存在範囲NoObjArea(j)に入っている場合には(S20:Yes)、S21に進む。S21では、パラメータNoObjCountに1を加算、つまり非存在範囲に入った回数に1を加算する(S21)。次いで、非存在範囲に入った回数(パラメータNoObjCount)が、予め定められた閾値THSHcount以上となったか否かを判断する(S22)。そして、回数NoObjCountが閾値THSHcount以上の場合には(S22:Yes)、計測カウントiにおける反射点8を無効とする(S23)。
【0040】
閾値THSHcountが例えば「1」に設定されていたとすると、
図13において、現在までに設定した非存在範囲40のうちの1つでも入った反射点82を無効にできる。よって、確実に、反射点82を無効にできる。また、閾値THSHcountが例えば「2」に設定されていたとすると、
図13において、符号46で示した範囲(閾値THSHcountが「1」のときよりも狭い範囲)に入った反射点82を無効にできる。閾値THSHcountが「3」以上に設定されると、範囲46のうちのさらに狭い範囲に入った反射点82を無効にできる。このように、閾値THSHcountを大きな値に設定するほど、より慎重に反射点82を無効にできる。よって、有効な反射点を誤って無効としてしまうのを防止できる。
【0041】
S22において、回数NoObjCountが閾値THSHcount未満の場合には(S22:No)、S25に進んで、着目する障害物非存在範囲を次の時点の障害物非存在範囲NoObjArea(j+1)に切り替える(S25)。
【0042】
このように、S20〜S25の処理が繰り返されることで、最初に設定した障害物非存在範囲NoObjArea(1)から順番に最後(現時点)に設定した障害物非存在範囲NoObjArea(n)まで、現在着目している反射点8が各障害物非存在範囲に入っているか否かが判断される。その過程で、反射点8が障害物非存在範囲に所定回数(閾値THSHcount)以上入った場合には、その反射点8が無効にされる。
【0043】
一方、S24において、j+1>J1を満たした場合、つまり、最後に設定した障害物非存在範囲NoObjArea(n)まで反射点8が入っているか否かを判断した場合には(S24:Yes)、S26に進む。この場合には、現在着目している反射点8は有効とされる。
【0044】
上述の処理S20〜S25で、現在着目している反射点8の有効、無効を判断し終えた場合には、計測カウントiに1を加算した値(i+1)が、現在の計測カウントnより大きくなったか否かを判断する(S26)。つまり、i+1>nを満たしているか否かを判断する(S26)。満たしていない場合には(S26:No)、S27に進む。S27では、計測カウントiに1を加算する(S27)。つまり、着目する反射点8を次の時点における反射点に切り替える。そして、切り替え後の反射点8に対して上述のS17〜S25の処理を実行して、その反射点8の有効、無効を判断する。
【0045】
S26において、i+1>nを満たした場合、つまり、現在存在する全ての反射点8に対して有効、無効を判断した場合には(S26:Yes)、S28に進む。S28では、駐車空間の検知処理を終了するか否かを判断する(S28)。具体的には、例えば、駐車空間を検知できたときや、終了スイッチ(図示外)が乗員に操作されたときや、駐車空間の検知処理を開始してから予め定められた時間が経過しても駐車空間を検知できなかったときなど、予め定められた終了条件を満たしたときに駐車空間の検知処理を終了すると判断する。なお、駐車支援ECU10は、
図4の処理と並列して、
図4の処理で有効とされた反射点81(
図13参照)に基づいて、駐車空間の有無を判断する処理を実行している。例えば、駐車支援ECU10は、第1の駐車車両71の先端位置で検出された反射点85(
図13参照)と、第2の駐車車両72の先端位置で検出された反射点86(
図13参照)の間の距離が、予め定められた距離(一般的な車両長の距離)以上の場合に、駐車空間有りと判断する。
【0046】
S28において、駐車空間の検知処理を未だ終了しないと判断した場合には(S28:No)、S29に進む。S29では、計測カウントnに1を加算して、計測カウントnを更新する(S29)。そして、S12に戻って、最新の計測カウントn(最新の時点)に対して上述のS12〜S28の処理を実行する。一方、駐車空間の検知処理を終了すると判断した場合には(S28:Yes)、
図4の処理を終了する。
【0047】
駐車支援ECU10は、駐車空間5を検知できたときには、例えば、自車両6の現在位置から駐車空間5までの経路を算出する。そして、その経路に沿って移動するように自車両6のステアリング等を制御して、自車両6を駐車空間5に自動的に駐車させる。
【0048】
以上説明したように、本実施形態では、精度の低い反射点を無効にできるので、駐車空間を高精度に検知できる(ロバスト性を向上できる)。また、現在までに設定した全ての障害物非存在範囲のそれぞれに反射点が入っているか否かを判断しているので、精度の低い反射点を確実に無効にできる。
【0049】
(第2実施形態)
次に、本発明に係る駐車空間検知装置の第2実施形態を第1実施形態と異なる部分を中心にして説明する。第1実施形態では、現在までに存在する全ての障害物非存在範囲に反射点が入っているか否かを判定することで、当該反射点の有効、無効を判定していた。この第2実施形態は、反射点の有効、無効の判定対象とする障害物非存在範囲を一部に限定する実施形態である。本実施形態の駐車支援システムの構成は、
図1の第1実施形態におけるそれと同じである。また、本実施形態の駐車支援ECU10が駐車空間を検知するときに実行する処理のメインフローチャートは、
図4の第1実施形態におけるそれと同じである。
図4において、S14の処理の詳細と、S18の処理の詳細とが、第1実施形態と異なっている。
【0050】
図4において、計測カウントnにおける検知距離L(n)を取得し(S12)、センサ位置Attd(n)を算出すると(S13)、S14の処理に進む。
図14は、S14の処理の詳細を示したフローチャートである。先ず、検知距離L(n)、L(n−1)とセンサ位置Attd(n)、Attd(n−1)とに基づいて三角測量により、反射点位置Rflt(n)を算出する(S141)。S141の処理は第1実施形態のS14の処理と同じである。次いで、反射点の有効、無効の判定対象とする障害物非存在範囲を一部に限定するモード(以下、一部範囲モードと言う)を実行するか否かを判断する(S142)。一部範囲モードを実行するか否かは、駐車支援ECU10のメモリに記憶された制御プログラムで予め決められている。本実施形態では、一部範囲モードを実行するように決められている(S142:Yes)。なお、第1実施形態では、一部範囲モードを実行しないとして(S142:No)、
図14の処理を終了する。
【0051】
一部範囲モードを実行する場合には(S142:Yes)、S143に進む。S143では、メモリ11に記憶された関連データに基づいて、センサ位置Attd(n)を基準とする測距センサ20の検知範囲を設定する(S143)。具体的には、関連データとして測距センサ20の検知範囲の計測データを用いる場合には、
図10と同じ検知範囲、つまり、その計測データで示される計測検知範囲を設定する(S143)。また、関連データとして、測距センサ20の指向性φ、最大検知距離MaxLを用いる場合には、
図12と同じ検知範囲に設定する。つまり、センサ位置Attd(n)を中心、最大検知距離MaxLを半径、指向性φを中心角とする円弧内の範囲を検知範囲として設定する(S143)。ここで、
図15は、S143で設定された検知範囲25(センサ位置221を基準とした検知範囲)を例示している。
【0052】
反射点は、測距センサ20の検知範囲に存在する障害物からの反射点であるので、検知範囲に入っているはずである。逆に検知範囲に入っていない反射点は精度の低い反射点と考えることができる。そこで、以下の処理で、そのような精度の低い反射点を無効にしている。すなわち、S141で算出した反射点位置Rflt(n)が、S143で設定した検知範囲に入っているか否かを判断する(S144)。入っている場合は(S144:Yes)、反射点位置Rflt(n)が有効であるとして、
図14のフローチャートの処理を終了する。一方、反射点位置Rflt(n)が検知範囲に入っていない場合には(S144:No)、反射点位置Rflt(n)を無効にする(S145)。その後、
図14のフローチャートの処理を終了する。
図14の処理を実行することで、
図15において、検知範囲25に入っている反射点83は有効となる一方で、入っていない反射点84は無効となる。
【0053】
このように、反射点を算出する段階で予め有効、無効を判断することで、後の処理で障害物非存在範囲に入っているか否かの判断対象となる反射点を少なくできる。また、後述するように、反射点が入っているか否かの判断対象となる障害物非存在範囲を一部に限定できる。
【0054】
図4の処理に戻り、S15〜S17の処理の後、S18にて、計測カウントiでの反射点8が入っているか否かの判定対象とする障害物非存在範囲の範囲(判定対象範囲)を決定する(S18)。別の言い方をすると、上述のパラメータJ0とパラメータJ1とを算出する。なお、パラメータJ0は、判定対象範囲のうちの一方の端(古い時点側の端)に位置する障害物非存在範囲に相当する。パラメータJ1は、判定対象範囲のうちの他方の端(新しい時点側の端)に位置する障害物非存在範囲に相当する。ここで、
図16は、S18の処理の詳細を示したフローチャートである。
【0055】
図16の処理に移行すると、先ず、パラメータJ0、J1をデフォルト値に設定、つまりJ0を最初に計測カウントである「1」に、J1を現在の計測カウントである「n」に設定する(S41)。次いで、設定してから一定時間が経過した障害物非存在範囲を無効にする(判定対象範囲から除外する)モード(非存在範囲タイマー)が設定されているか否かを判断する(S142)。その非存在範囲タイマーが設定されているか否かは、駐車支援ECU10のメモリに記憶された制御プログラムで予め決められている。非存在範囲タイマーが設定されていない場合には(S42:No)、以下で説明するS43〜S45を実行しないで、S46に進む。
【0056】
非存在範囲タイマーが設定されている場合には(S42:Yes)、S43に進む。S43では、パラメータJ0の暫定パラメータJ0tmpを現在の計測カウントnに設定する(J0tmp=n、S43)。次いで、暫定パラメータJ0tmpで特定される障害物非存在範囲を設定してから一定時間Timerが経過したか否かを判断する(S44)。別の言い方をすると、暫定パラメータJ0tmpで特定される障害物非存在範囲を設定した時間t(J0tmp)が、現在の時間t(n)の一定時間Timer前の時点(t(n)−Timer)より後か前かを判断する(S44)。つまり、t(J0tmp)>t(n)−Timerを満たすか否かを判断する。S43にてJ0tmp=nに設定されているので、最初は、現在の計測カウントnにおける障害物非存在範囲を設定してから一定時間経過したか否かを判断していることになる。この場合は、t(J0tmp)>t(n)−Timerを満たすことになるので(S44:Yes)、S45に進む。
【0057】
S45では、J0=J0tmpとするとともに、J0tmpの値を1だけ減らす(J0tmp=J0tmp−1)。その後、S44の処理に戻って、S45で新たに設定された暫定パラメータJ0tmpに対して、t(J0tmp)>t(n)−Timerを満たすか否かを判断する。このように、S44、S45の処理を繰り返すことで、t(n)>t(n)−Timerを満たすか否か、t(n−1)>t(n)−Timerを満たすか否か、t(n−2)>t(n)−Timerを満たすか否か、・・・が判断される。それに伴って、S45の処理のたびに、J0=n、J0=n−1、J0=n−2・・・と、nから1ずつ減ずる形で順次更新されていく。
【0058】
S44において、t(J0tmp)>t(n)−Timerを満たさなくなった場合は(S44:No)、S46に進む。この場合は、直前のS45で更新されたパラメータJ0が有効になる。例えば、J0=n−10が有効となった場合には、計測カウントが1〜n−11に対応する障害物非存在範囲は、設定されてから一定時間Timerが経過していることになり、判定対象範囲から除外される。
【0059】
障害物非存在範囲を設定してからいつまでもその障害物非存在範囲を有効にしておくと、障害物非存在範囲の設定後にその障害物非存在範囲に入ってきた駐車車両とは別の障害物(人間など)の反射点まで無効とする危険性がある。よって、一定時間経過した障害物非存在範囲を判定対象範囲から除外することで、新たな障害物にも対応できる。
【0060】
S46では、
図14のS142と同様に、一部範囲モードを実行するか否かを判断する(S46)。本実施形態では、一部範囲モードを実行するようにプログラム化されているので(S46:Yes)、S47に進む。なお、一部範囲モードを実行しない場合には(S46:No)、
図16のフローチャートの処理を終了する。S47では、現在着目している反射点の計測カウントiでのセンサ位置を基準とした測距センサ20の検知範囲(i)を設定する(S47)。具体的には、
図14のS143と同様に、メモリ11に記憶された関連データと
図4のS13で算出したセンサ位置とに基づいて、検知範囲(i)を設定する。なお、計測カウントiは、
図4のS17及びS27で設定された値である。
【0061】
次いで、暫定パラメータJ0tmpに、パラメータJ0の値(直前のS45で設定された値)を代入する(S48)。次いで、暫定パラメータJ0tmpに対応する障害物非存在範囲NobjArea(J0tmp)が、S47で設定した検知範囲(i)と少なくとも一部が重複しているか否かを判断する(S49)。重複していない場合には(S49:No)、暫定パラメータJ0tmpの値を1加算する(J0tmp=J0tmp+1、S50)。その後、S49の処理に戻って、新たな暫定パラメータJ0tmpに対応する障害物非存在範囲NobjArea(J0tmp)が検知範囲(i)と少なくとも一部が重複しているか否かを判断する(S49)。このように、S49、S50の処理を繰り返すことで、古い障害物非存在範囲から順に、障害物非存在範囲が検知範囲(i)に重複しているか否かが判断される。
【0062】
障害物非存在範囲NobjArea(J0tmp)が検知範囲(i)に重複している場合には(S49:Yes)、パラメータJ0に、現在の暫定パラメータJ0tmpの値を代入する(J0=J0tmp、S51)。つまり、判定対象範囲のうちの一方の端(古い時点側の端)に位置する障害物非存在範囲を決定する。
【0063】
次いで、パラメータJ1の暫定パラメータJ1tmpに、S41で設定したJ1の値(=n)を代入する(S52)。次いで、暫定パラメータJ1tmpに対応する障害物非存在範囲NobjArea(J1tmp)が検知範囲(i)と少なくとも一部が重複しているか否かを判断する(S53)。重複していない場合には(S53:No)、暫定パラメータJ1tmpの値を1減算する(J1tmp=J1tmp−1、S54)。その後、S53の処理に戻って、新たな暫定パラメータJ1tmpに対応する障害物非存在範囲NobjArea(J1tmp)が検知範囲(i)と少なくとも一部が重複しているか否かを判断する(S53)。このように、S53、S54の処理を繰り返すことで、新しい障害物非存在範囲から順に、障害物非存在範囲が検知範囲(i)に重複しているか否かが判断される。
【0064】
障害物非存在範囲NobjArea(J1tmp)が検知範囲(i)に重複している場合には(S53:Yes)、パラメータJ1に、現在の暫定パラメータJ1tmpの値を代入する(J1=J1tmp、S55)。つまり、判定対象範囲のうちの他方の端(新しい時点側の端)に位置する障害物非存在範囲を決定する。その後、
図16のフローチャートの処理を終了する。
【0065】
ここで、
図17は、
図16の処理によって決定された判定対象範囲45を例示した図である。判定対象範囲45は、測距センサ20の検知範囲25と少なくとも一部が重複した1又は複数の障害物非存在範囲から構成された範囲とされる。
図17において、障害物非存在範囲451は、パラメータJ0に対応する障害物非存在範囲とされる。障害物非存在範囲452は、パラメータJ1に対応する障害物非存在範囲とされる。そして、障害物非存在範囲451から障害物非存在範囲452までの範囲が、判定対象範囲45とされる。このように、
図16の処理を実行することで、検知範囲(i)に応じた判定対象範囲を設定することができる。
【0066】
図4の処理に戻り、S19以降の処理で、S18で設定した判定対象範囲に含まれる各障害物非存在範囲に、現在着目している反射点(計測カウントiの反射点)が入っているか否かが判定される。また、その反射点が、障害物非存在範囲に何回入ったかが判定される。そして、所定回数THSHcount以上入っている場合には(S22:Yes)、その反射点は無効とされる(S23)。例えば、
図17の場合では、判定対象範囲45に反射点が入っているか否か、入っている場合にはいくつの障害物非存在範囲に入っているかが判定されることになる。このとき、先の
図14の処理によって、検知範囲25に入っていない反射点84は無いはずなので、判定対象範囲45に限定したとしても、問題無く反射点の有効、無効を判定できる。仮に、
図14の処理を実行しない場合には、反射点84は、判定対象範囲45に入っていないとして、検知範囲25に入っていないにもかかわらず、有効と判定されてしまう。
【0067】
S27において、着目する計測カウントiを次の値に切り替えたときには、切り替え後の計測カウントiに対する判定対象範囲が設定され(S18)。そして、切り替え後の計測カウントiでの反射点がその判定対象範囲に入っているか否かが判定される(S19〜S26)。
【0068】
以上説明したように、本実施形態では、反射点の有効、無効を判定するための障害物非存在範囲を一部に限定しているので、反射点の有効、無効を判定するときの計算負担を減らすことができる。なお、上記の実施形態では、縦列駐車の駐車空間を検知する例を説明したが、並列駐車の駐車空間の検知にも本発明を適用できる。なお、本発明に係る駐車空間検知装置は上記実施形態に限定されるものはなく、特許請求の範囲の記載を逸脱しない限度で種々の変更が可能である。
【0069】
なお、上記実施形態において、駐車支援システム1が本発明の「駐車支援装置」に相当する。測距センサ20が本発明における「距離検知手段」に相当する。車速センサ31及び操舵角センサ32が本発明における「状態検知手段」に相当する。
図4のS13の処理を実行する駐車支援ECU10が本発明における「位置算出手段」に相当する。
図4のS14の処理を実行する駐車支援ECU10が本発明における「反射点推定手段」に相当する。
図4のS15及びS16の処理を実行する駐車支援ECU10が本発明における「非存在範囲設定手段」に相当する。
図4のS17〜S22、S24〜S27の処理を実行する駐車支援ECU10が本発明における「反射点判定手段」に相当する。
図4のS23の処理を実行する駐車支援ECU10が本発明における「反射点無効手段」に相当する。メモリ11が本発明における「記憶手段」に相当する。
図4のS15の処理を実行する駐車支援ECU10が本発明における「距離設定手段」に相当する。
図14のS143、
図16のS47の処理を実行する駐車支援ECU10が本発明における「検知範囲設定手段」に相当する。
図16のS44の処理を実行する駐車支援ECU10が本発明における「時間判断手段」に相当する。
図16のS42、S43、S45の処理を実行する駐車支援ECU10が本発明における「範囲無効手段」に相当する。