以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明の一実施形態に係る駐車支援装置100の構成を示すブロック図である。本実施形態に係る駐車支援装置100は、車両に搭載され、当該車両を駐車スペースに移動させる(駐車させる)動作を支援する。本実施形態の駐車支援装置100は、距離センサ群10と、移動距離センサ20と、操舵角センサ30と、メインスイッチ40と、駐車支援ECU(Electronic control unit)50と、車両制御ECU60とを備える。なお、駐車支援装置100は、不図示のエンジン制御ECUやステアリングのパワーアシストECU等の通常車両に搭載されているハードウェア群も備える。これらの各構成は、相互に情報の授受を行うためにCAN(Controller Area Network)やその他の車載LANによって接続されている。
距離センサ群10は、例えば、図示するように、前方距離センサ11と、右側方距離センサ12と、左側方距離センサ13とを備える。前方距離センサ11は、車両のフロントバンパー又はその近傍に設置され、自車両の前方に存在する物体における一群の反射点(図3参照)の極座標(距離及び方位)を検知して駐車支援ECU50に出力する。右側方距離センサ12は、車両の右側方(例えば、車両の前端右側部)に設置され、自車両の右側方に存在する物体における一群の反射点の極座標を検知して駐車支援ECU50に出力する。左側方距離センサ13は、車両の左側方(例えば、車両の前端左側部)に設置され、自車両の左側方に存在する物体における一群の反射点の極座標を検知して駐車支援ECU50に出力する。
距離センサ群10の各センサとしては、レーザスキャナ、レーダー、及びステレオカメラ等を例示することができ、物体における一群の反射点の極座標を検出できるものであれば、適宜選択できる。また、距離センサ群10の検出領域は、少なくとも自車両の進路の左右に存在する複数の駐車車両における一群の反射点の極座標を検知できるように設定されている。
移動距離センサ20は、自車両の移動量を算出して駐車支援ECU50に出力する。移動距離センサ20は、例えば、自車両の車輪の回転数を検出する回転数センサ等を用いて構成することができる。
操舵角センサ30は、例えば、ステアリングコラムの内部に設置され、ステアリングホイールの回転角を検出して駐車支援ECU50に出力する。
メインスイッチ40は、駐車支援の開始を指示するためにユーザに操作されるスイッチであり、操作されていない状態ではオフ信号を駐車支援ECU50に出力し、操作されるとオン信号を駐車支援ECU50に出力する。このメインスイッチ40は、例えば、自車両のインストルメントパネルの周辺やステアリングホイールの周辺等、運転者によって操作可能な任意の位置に設置される。なお、メインスイッチ40は、ナビゲーション装置の画面に設けられるソフトウェアスイッチや、ネットワークを介して車両と通信可能なスマートフォン等の携帯端末の画面に設けられるソフトウェアスイッチ等にしてもよい。
駐車支援ECU50は、駐車支援装置100を統括的に制御するコントローラである。駐車支援ECU50は、駐車支援プログラムが格納されたROM52と、このROM52に格納されたプログラムを実行することで、本実施形態の駐車支援装置100として機能する動作回路としてのCPU51と、アクセス可能な記憶装置として機能するRAM53とを備える。この駐車支援ECU50は、距離センサ群10、移動距離センサ20、操舵角センサ30、メインスイッチ40から検出情報が入力され、後述する駐車可能空間の推定処理を実行した後に、自車両の目標車速と目標操舵角とを算出して車両制御ECU60に出力する。
車両制御ECU60は、車両の駆動制御を行うコントローラである。車両制御ECU60は、車両駆動制御プログラムが格納されたROM62と、このROM62に格納されたプログラムを実行することで、車両制御装置として機能する動作回路としてのCPU61と、アクセス可能な記憶装置として機能するRAM63とを備える。この車両制御ECU60は、駐車支援ECU50から車両の目標車速と目標操舵角とが入力され、エンジン制御ECUやステアリングのパワーアシストECU等と連携して、車両の駆動制御を行う。
図2は、駐車支援ECU50の機能を説明するためのブロック図である。この図に示すように、駐車支援ECU50は、駐車車両認識部501と、車両代表点算出部502と、車両群選定部503と、駐車枠幅・角度算出部504と、仮想駐車枠群生成部505と、駐車枠推定部506と、空駐車枠候補算出部507と、占有格子地図算出部508と、駐車/空車判定部509と、空駐車枠位置修正部510と、駐車経路算出部511と、探索経路算出部512と、車両制御指令値算出部513とを備える。
駐車車両認識部501は、距離センサ群10から極座標群として入力された反射点位置情報群(以下、点群という)に基づいて、駐車車両2(図3等参照)を認識する。駐車車両認識部501は、まず、前方距離センサ11、右側方距離センサ12、及び左側方距離センサ13から入力された点群を、極座標からxy平面座標に座標変換して統合し、次に、クラスタリングを行って近接した一群の点群を抽出する。
図3は、駐車車両2の認識処理を説明するための平面図である。この図に示すように、並列駐車方式の駐車場に駐車車両2が存在する場合、駐車車両2は、駐車車両認識部501により、L字状の点群として抽出される。図2に戻り、駐車車両認識部501は、クラスタリングを行って抽出した一群の点群がL字状になっている場合に、抽出した一群の点群の情報を車両代表点算出部502に出力する。なお、駐車車両2の認識方法としては、上述の方法には限られず、他の公知の方法を用いることができる。
車両代表点算出部502は、駐車車両認識部501から入力された点群の情報に基づいて、各駐車車両2の代表点P1を算出する。車両代表点算出部502は、まず、後向きで駐車している駐車車両2の前面または前向きで駐車している駐車車両2の後面を表す直線を抽出し、次に、抽出した直線の中心点を、駐車車両の代表点P1として算出する。
ここで、L字状の一対の直線の一方は、後向きで駐車している駐車車両2の前面または前向きで駐車している駐車車両2の後面を示す直線となり、他方の直線は、駐車車両2の側面を示す直線となる。図3に示すように、自車両1の向きを示すベクトルと駐車車両2の向きを示すベクトルとが直角になる状況では、後向きで駐車している駐車車両2の前面または前向きで駐車している駐車車両2の後面が、自車両1の向きを示すベクトルに対して左側に45°から右側に45°までの範囲に入る。そこで、車両代表点算出部502は、自車両1の向きを示すベクトルに対して左側に45°から右側に45°までの範囲に入る直線を、後向きで駐車している駐車車両2の前面または前向きで駐車している駐車車両2の後面を示す直線として抽出する。そして、車両代表点算出部502は、抽出した直線の中心点を、駐車車両2の代表点P1として算出して車両群選定部503に出力する。
ここで、車両代表点算出部502は、駐車車両2の前面または後面を示す直線及び駐車車両2の側面を示す直線の向きに基づいて、駐車車両2の代表点P1の位置のみならず向きも算出して、駐車車両2の代表点P1の位置及び向きの情報を車両群選定部503に出力する。なお、駐車車両2の代表点P1は、駐車車両2の前面または後面の中心に設定することは必須ではなく、複数の駐車車両2について同じ位置に設定すればよく、例えば、駐車車両2の前方の左右端や中心(重心)等に設定してもよい。
車両群選定部503は、車両代表点算出部502から入力された各駐車車両2の代表点P1の位置及び向きの情報に基づいて、向きが一致する一連の並列された駐車枠3からなる駐車枠群に存在する駐車車両群4を選定する。そして、車両群選定部503は、選定した駐車車両群4に属する各駐車車両2の代表点P1の位置及び向きの情報を、駐車枠幅・角度算出部504に出力する。ここで、向きが異なる駐車枠3に存在する駐車車両2は、異なる駐車車両群4に分類されるところ、探索走行中の自車両1の左右に駐車車両群4が存在する場合、左右の駐車車両群4の向きは180°異なるので、左右の駐車車両群4は、異なる駐車車両群4に分類される。
なお、駐車車両群4を分類する方法はこれに限られない。例えば、駐車車両2の間隔が所定距離(例えば、間に3台の駐車車両2が入る距離)以内であるか否かで、さらに駐車車両群4を細かく分類したり、駐車車両2の間に車両ではない物体が認識された場合には、その物体を境に別々の駐車車両群4に分類したりしてもよい。
また、車両群選定部503は、車両代表点算出部502から各駐車車両2の代表点P1の情報が入力される度に逐次、駐車車両群4を分類する処理を実行してもいいが、これには限られず、例えば、駐車車両2の情報を継続的に入力(トラッキング)して時系列の情報を重ね合せたうえで駐車車両群4を分類する処理を実行してもよい。具体的には、移動距離センサ20と操舵角センサ30とから入力された検出情報に基づいて、自車両1の移動量(所謂、オドメトリ)を算出し、その算出結果に基づいて、前回までの駐車車両2の代表点P1の情報と、今回の駐車車両2の代表点P1の情報とを統合する。ここで、前回までは入力されたが今回は入力されなかった駐車車両2の代表点P1の情報も用いる。これにより、距離センサ群10の検出範囲には含まれない多くの駐車車両2の情報を用いて後述の駐車枠3の幅の算出処理を実行できるので、駐車枠3の幅の算出処理の結果の安定性が増す。
駐車枠幅・角度算出部504は、車両群選定部503から入力された同一分類の駐車車両群4の位置と向きの情報に基づいて、駐車枠3の幅及び角度を算出して仮想駐車枠生成部505に出力する。
図4は、駐車枠3の幅widthと単位代表点間距離dとの関係を説明するための図である。この図に示すように、駐車枠3の幅widthと、隣り合う駐車枠3に存在する2台の駐車車両2の代表点P1の距離(以下、単位代表点間距離という)dとは、概ね一致する。
図5は、並列された駐車車両2の間に空車状態の駐車枠3が存在する場合における駐車枠3の幅widthと代表点間距離Dとの関係を説明するための図である。この図に示すように、代表点間距離Dは、単位代表点間距離d(≒駐車枠の幅width)の略整数倍になる。即ち、隣り合う駐車枠3に存在する2台の駐車車両2の代表点間距離Dは、単位代表点間距離dの1倍、1つの駐車枠3を挟んで隣り合う2台の駐車車両2の代表点間距離Dは、単位代表点間距離dの2倍、2つの駐車枠3を挟んで隣り合う2台の駐車車両2の代表点間距離Dは、単位代表点間距離dの3倍となる。
そこで、駐車枠幅・角度算出部504は、単位代表点間距離dを用いて駐車枠3の幅widthを算出する。具体的には、まず、単位代表点間距離dに仮定値dxを設定する。この仮定値dxは、現実的な駐車枠3の幅(例えば、2.2m〜3.3m)に相当する値とする。
次に、算出された全ての代表点間距離Dについて、代表点間距離Dと仮定値dxとの誤差deを算出する。この誤差deを算出するにあたり、まず、代表点間距離Dを仮定値dxで除算した場合の剰余drを算出する。そして、剰余drがdx×1/2より大きい場合には、誤差deを下記(1)式により算出する。一方、剰余drがdx×1/2以下である場合には、誤差deを下記(2)式により算出する。
de=dx−dr …(1)
de=dr …(2)
次に、それぞれの代表点間距離Dについて算出した誤差deの総和de_sumを算出する。そして、この誤差の総和de_sumが最小となる仮定値dxを、単位代表点間距離dの値に決定する。
図5に示すように、V1〜V4の4台の駐車車両が車両群選定部503により駐車車両群4として選定され、駐車車両V1と駐車車両V2との代表点間距離D12、駐車車両V2と駐車車両V3との代表点間距離D23、駐車車両V3と駐車車両V4との代表点間距離D34が、それぞれD12=6.2m、D23=9.3m、D34=2.8mである状況について検討する。
まず、単位代表点間距離dの仮定値をdx=3.0mとした場合について検討する。この場合、代表点間距離D12についての剰余はdr=0.2m、代表点間距離D23についての剰余はdr=0.3m、代表点間距離D34についての剰余はdr=2.8mとなる。ここで、代表点間距離D12、D23についての剰余drは、dx×1/2以下となるので、代表点間距離D12についての誤差はde=0.2m、代表点間距離D23についての誤差はde=0.3mとなる。一方、代表点間距離D34についての剰余drは、dx×1/2より大きくなるので、代表点間距離D34についての誤差は、de=3.0−2.8=0.2mとなる。従って、誤差の総和はde_sum=0.7mとなる。
次に、単位代表点間距離dの仮定値をdx=3.1mとした場合について検討する。この場合、代表点間距離D12についての剰余はdr=0.0m、代表点間距離D23についての剰余はdr=0.0m、代表点間距離D34についての剰余はdr=2.8mとなる。ここで、代表点間距離D12、D23についての剰余drは、dx×1/2以下となるので、代表点間距離D12についての誤差はde=0.0m、代表点間距離D23についての誤差はde=0.0mとなる。一方、代表点間距離D34についての剰余drは、dx×1/2より大きくなるので、代表点間距離D34についての誤差は、de=3.1−2.8=0.3mとなる。従って、誤差の総和はde_sum=0.3mとなる。
次に、単位代表点間距離dの仮定値をdx=3.2mとした場合について検討する。この場合、代表点間距離D12についての剰余はdr=3.0m、代表点間距離D23についての剰余はdr=2.9m、代表点間距離D34についての剰余はdr=2.8mとなる。ここで、全ての剰余drがdx×1/2より大きくなるので、代表点間距離D12についての誤差はde=3.2−3.0=0.2m、代表点間距離D23についての誤差はde=3.2−2.9=0.3m、代表点間距離D34についての誤差はde=3.2−2.8=0.4mとなる。従って、誤差の総和はde_sum=0.9mとなる。
仮定値をdx=2.2〜2.9、3.3mとした場合については、記載を省略するが、誤差の総和de_sumが0.3mを下回るものは無かった。以上により、誤差の総和de_sumが最小になるのは、単位代表点間距離dの仮定値をdx=3.1mとした場合であるので、単位代表点間距離dの最適値は、3.1mとなる。
なお、駐車枠3の幅widthを算出するのに代表点間距離Dを用いる方法を説明したが、これには限られない。例えば、RANSC(random sample consensus)等の手法により、複数の代表点P1を結ぶ直線(以下、フロントラインという)を当てはめ、フロントライン上での代表点P1の間の距離を用いてもよい。
次に、駐車枠の幅widthを算出する。図5に示すように、角度付きではない並列駐車方式の場合には、駐車枠3の幅方向と駐車枠3の配列方向とが一致するので、駐車枠3の幅をwidth=dと算出する。一方、図6に示すように、角度付きの並列駐車方式の場合には、駐車枠3の幅方向が駐車枠3の配列方向(フロントラインFLの延在方向)に対して所定角度αで傾斜するので、駐車枠3の幅を、width=d×sinαと算出する。
なお、角度付きではない並列駐車方式の場合には、α=90°となり、駐車枠3の幅は、width=d×sin90°=dとなるので、角度付きの並列駐車方式の場合と同様に、駐車枠3の幅を、width=d×sinαと算出することもできる。しかしながら、駐車車両2の向きの検出には誤差を伴うので、角度付きではない並列駐車方式と推定できる場合には、駐車枠3の幅をwidth=dと算出することが好ましい。
駐車枠幅・角度算出部504は、角度付きではない並列駐車方式の場合には、駐車枠3の角度としてα=90°を出力し、縦列駐車方式の場合には、駐車枠3の角度としてα=0°を仮想駐車枠群生成部505出力する。一方、角度付きの並列駐車方式の場合には、駐車枠幅・角度算出部504は、駐車車両群4に含まれる駐車車両2の向きの平均値とフロントラインFLとの角度の差を算出して、算出した値を駐車枠3の角度αとして仮想駐車枠群生成部505に出力する。
なお、駐車枠3の幅及び角度を、車両群選定部503から入力された同一分類の駐車車両群4の位置と向きの情報に基づいて算出することは必須ではなく、事前に駐車枠3の幅及び角度を含む地図情報を保持しておいたり、駐車枠3の幅及び角度を、ネットワークを通じて取得したりしてもよい。
図7及び図8は、仮想駐車枠群の生成処理を説明するための図である。これらの図に示すように、仮想駐車枠生成部505は、駐車枠幅・角度算出部504で算出された駐車枠の幅widthと角度αとフロントラインFLとを用いて、一連の駐車枠5を仮想したラダー状(梯子状)の仮想駐車枠群6を生成する。
図7に示すように、仮想駐車枠群6が角度付きではない並列駐車方式である場合には、仮想駐車枠群6の前部を示す直線は、フロントラインFLに対して僅かに手前側にオフセットさせる。この際のオフセット量は、駐車車両群4に含まれる全ての駐車車両2が仮想の駐車枠5の内側に入るように設定してもよく、あるいは、予め設定した値でもよい。仮想駐車枠群6の各駐車枠5の長さ(奥行)は、一般的な駐車枠の長さに応じて予め設定すればよい。
次に、駐車枠推定部506は、仮想駐車枠群6の左右方向(駐車枠5の配列方向)の位置を設定するところ、まず、初期位置を設定する。この初期位置の設定においては、例えば、駐車車両群4の左端に位置する駐車車両2の代表点P1と、仮想駐車枠群6の左端から2番目に位置する駐車枠5の幅方向中心線とを一致させればよい。
なお、縦列駐車方式の仮想駐車枠群6の初期位置の設定においては、例えば、駐車車両群4の後端に位置する駐車車両2の代表点P1と、仮想駐車枠群6の後端から2番目に位置する駐車枠5の奥行方向中心線とを一致させればよい。
次に、駐車枠推定部506は、初期位置に設定された仮想駐車枠群6の左右方向の位置と、仮想駐車枠群6の左右方向の最適位置とのオフセット量Osを算出し、そのオフセット量Osの分だけ、仮想駐車枠群6を左右方向に移動させることにより、仮想駐車枠群6の位置を決定する。オフセット量Osの算出処理では、まず、全ての駐車車両2について、代表点P1の位置と、当該位置に対して最も近い駐車枠5の車幅方向中心線とのオフセット量Os´を算出する。次に、算出されたオフセット量Os´の平均値を算出して上記オフセット量Osとして出力する。
ここで、角度付きではない並列駐車方式の仮想駐車枠群6の場合は、駐車車両2の代表点P1の位置と、当該位置に対して最も近い駐車枠5の幅方向中心線との距離を、上記オフセット量Os´とする。一方、図8に示すように角度付きの並列駐車方式の仮想駐車枠群6の場合は、上記オフセット量Os´を、Os´=x/sinαとする。なお、xは、代表点P1の位置と、当該位置に対して最も近い駐車枠5の幅方向中心線との距離である。
また、縦列駐車方式の仮想駐車枠群6の場合は、駐車車両2の代表点P1の位置と、当該位置に対して最も近い駐車枠5の奥行方向中心線との距離を、上記オフセット量Os´とする。
以上のように、駐車支援ECU50では、仮想駐車枠群生成部505が、仮想駐車枠群6を生成し、駐車枠推定部506が、仮想駐車枠群6の位置を設定することにより、仮想駐車枠群6を設定する。
図9は、仮想駐車枠群6の一例を示す図である。この図に示すように、仮想駐車枠生成部505は、角度付きではない並列駐車方式(図中上段)、角度付きの並列駐車方式(図中中段)、及び縦列駐車方式(図中下段)の3種類の駐車方式に対応する仮想駐車枠群6を生成する。なお、仮想駐車枠群6の奥行寸法は、一般的な駐車枠の奥行寸法に基づいて事前に設定された値とすればよい。また、仮想駐車枠群に含まれる駐車枠5の数は、駐車車両2に挟まれない駐車枠5を想定する観点から、同一分類の駐車車両群4に含まれる駐車車両2が全て入る数に加え、その左右に1枠ずつ追加することが好ましい。
図10は、図9の3種類の駐車方式に当てはまらない駐車方式に対応する仮想駐車枠群6を示す図である。この図に示すように、駐車枠の角度が一定でない駐車方式に対応する仮想駐車枠群6を生成する場合には、全ての駐車車両2について、駐車車両2の中心の位置と、当該位置に対して最も近い駐車枠5の中心位置との距離を算出し、算出した距離の誤差が最小となるように、仮想駐車枠群6の位置を最適化すればよい。なお、駐車枠の角度が一定でない駐車方式に対応する仮想駐車枠群6を生成する場合には、予め、駐車枠の構成の情報を含む地図情報を保持しておいたり、駐車枠の構成の情報をネットワークを通じて取得したりすればよい。
図11は、空駐車枠候補の算出処理を説明するための図である。この図に示すように、空駐車枠候補算出部507は、設定された仮想駐車枠群6に含まれる駐車枠5の中から、駐車車両認識部501により認識された駐車車両2の位置と重ならない駐車枠5を、空駐車枠候補7として抽出して駐車/空車判定部509に出力する。
具体的には、まず、空駐車枠候補算出部507は、認識された駐車車両2の中心位置と自車両1との距離、及び、各駐車枠5の中心位置と自車両1との距離を算出し、自車両1からの距離が最も短い駐車枠5を選択する。次に、空駐車枠候補算出部507は、認識された駐車車両2の何れかが、選択した駐車枠5の内側に収まっているか否かを判定する。空駐車枠候補算出部507は、認識された駐車車両2の何れも選択した駐車枠5の内側に収まっていない場合には、選択した駐車枠5を空駐車枠候補7として抽出する。それに対して、空駐車枠候補算出部507は、認識された駐車車両2の何れかが、選択した駐車枠5の内側に収まっている場合には、自車両1からの距離が2番目に短い駐車枠5を選択し、駐車車両2の何れかが、選択した駐車枠5の内側に収まっているか否かを判定する。即ち、空駐車枠候補算出部507は、空駐車枠候補7を抽出するまで、自車両1からの距離が短い順に駐車枠5を選択し、選択した駐車枠5に認識した駐車車両2が収まっているか否かで、選択した駐車枠5を空駐車枠候補7とするか否かを判定する。
なお、空駐車枠候補算出部507は、空駐車枠候補7の判定処理を、車両群選定部503により選定された一群の駐車車両群4に含まれる駐車車両のみならず、駐車車両認識部501により認識された全ての駐車車両2を対象として実施する。ここで、駐車車両2の中には、駐車車両群4に含まれる駐車車両2に対して僅かに位置や向きがずれることで1群の駐車車両群4から除外されたものが存在することも想定されるところ、このような駐車車両2についても、空駐車枠候補7の判定処理において考慮されることになる。
図12は、占有格子地図(Occupancy Grid Map)の算出処理を説明するための図である。この図に示すように、占有格子地図算出部508は、距離センサ群10から入力される反射点の情報を用いて、占有格子地図を算出し、算出した占有格子地図を駐車/空車判定部509に出力する。占有格子地図算出部508は、障害物が存在しない格子を「非占有」と判定し、障害物が存在する格子を「占有」と判定し、センサの範囲外や障害物の陰になる死角等のセンサで検知できていない格子を「未知」と判定する。なお、占有格子地図の判定手法として、各格子に占有確率の情報を格納し、所定の占有確率以上の格子を「占有」と判定し、所定の占有確率未満の格子を「非占有」と判定し、それら以外の格子を「未知」と判定する手法を例示することができる。
距離センサ群10の各センサ11〜13の1回のスキャン毎に逐次、占有格子地図を作成してもよいが、各センサ11〜13の複数回のスキャンの結果を時系列で重ね合せた時系列の占有格子地図を作成してもよい。ここで、占有確率を用いた時系列の占有格子地図を作成する場合には、検知する障害物から移動物体を除外できる。なお、3次元の占有格子地図を作成してもよいが、本実施形態では、便宜上、2次元の占有格子地図を想定する。
図13は、駐車/空車の判定処理の手順を示すフローチャートであり、図14〜図16は、駐車/空車の判定処理を説明するための図である。これらの図に示すように、駐車/空車判定部509は、空駐車枠候補算出部507から出力された空駐車枠候補7と、占有格子地図算出部508から出力された占有格子地図とを照合し、各空駐車枠候補7が「占有」、「非占有」、及び「未知」の何れであるかを判定する。
具体的には、まず、図13のステップ1において、駐車/空車判定部509は、空駐車枠候補7の枠内の領域から占有領域OAを除いた領域の幅widthが、自車両1の幅v_widthを基準とした設定幅と比較して狭いか否かを判定する。より具体的には、駐車/空車判定部509は、空駐車枠候補7の枠内の占有領域OAを除いた領域の幅widthを算出し、下記(3)式を満たすか否かを判定する。
width<v_width+width_threshold …(3)
但し、width_thresholdは、乗降に必要なスペースを確保するための予め設定されたパラメータである。なお、自動運転の場合には人の乗降を考慮しないことも可能であり、この場合には、width_thresholdを小さく設定することも可能となる。
ステップ1において肯定判定がされた場合には(図14のCase1参照)、ステップ2において、駐車/空車判定部509は、空駐車枠候補7を「占有」と判定する。一方、ステップ1において否定判定がされた場合には(図14のCase2参照)、ステップ3において、駐車/空車判定部509は、空駐車枠候補7の枠内の未知領域内に最小サイズの車両が収まるか否かを判定する。
最小サイズは、駐車場に駐車される車両の種類等に応じて適宜設定すればよい。例えば、軽自動車のサイズを最小サイズに設定したり、バイクが頻繁に駐車される駐車場では原動機付きバイクのサイズを設定したりすればよい。また、空駐車枠候補7の枠内の未知領域内に最小サイズの車両が収まるか否かの判定手法としては、図15に示すように、最小サイズの車両を模擬した矩形体8を、枠内で微量ずつ網羅的に移動させ、該矩形体8が未知領域内に一度も収まることがない場合には「非占有」と判定し(Case1)、該矩形体8が未知領域内に収まることが一度でもある場合には「未知」と判定する(Case2)手法を例示できる。
ここで、実際に最小サイズの車両が未知領域から非占有領域に食み出した状態で枠内に存在する場合には、当該車両はセンサ11〜13により検出される。そのため、矩形体8が未知領域に収まり得ないCase1では、最小サイズの車両が未知領域に存在する可能性は無いので、「未知」ではなく、「非占有」ということになる。一方、実際に最小サイズの車両が未知領域に収まるように枠内に存在する場合には、当該車両はセンサ11〜13により検出されない。そのため、矩形体8が未知領域に収まり得るCase2では、最小サイズの車両が未知領域に存在する可能性があるので、「未知」ということになる。
そこで、ステップ3において肯定判定がされた場合には、図13のステップ4において、駐車/空車判定部509は、空駐車枠候補を「未知」と判定する。一方、ステップ3において否定判定がされた場合には、ステップ5において、駐車/空車判定部509は、空駐車枠候補を「非占有」と判定する。
空駐車枠候補7の枠内の未知領域内に最小サイズの車両が収まるか否かの判定手法としては、図16に示すように、枠内に判定ポイント9を設定し、その判定ポイント9が未知領域内に収まり得ない場合には「非占有」と判定し(Case1)、判定ポイント9が未知領域内に収まり得る場合には「未知」と判定する(Case2)手法を例示することができる。この判定手法では、上述の判定手法と比較して、計算負荷を低減できる。判定ポイント9の設定方法としては、駐車枠5の幅方向中央、且つ、後向駐車の最小サイズの車両の前端の点に設定する方法を例示できる。
空駐車枠位置修正部510は、駐車/空車判定部509が非占有と判定した駐車枠5の中から一つの駐車枠5を選択し、選択した駐車枠5の位置を微修正することにより目標駐車位置を決定する。空駐車枠位置修正部510は、決定した目標駐車位置を駐車経路算出部511に出力する。非占有の駐車枠5の中から一つの駐車枠5を選択する手法としては、自車両からの距離が最も短い非占有の駐車枠5を選択する手法を例示できる。また、選択した非占有の駐車枠5の位置を微修正する手法としては、上述の駐車枠推定部506による仮想駐車枠群6の位置の調整手法と同様の手法を例示できる。
駐車経路算出部511は、空駐車枠位置修正部510から出力された目標駐車位置への駐車経路を算出する。駐車経路の算出方法としては、特に限定されるものではなく、公知の様々な方法を用いることができる。
探索経路算出部512は、駐車枠幅・角度算出部504から入力されたフロントラインFLの情報を用いて、目標駐車位置に駐車できなかった場合に新たな目標駐車位置を探索するための走行経路を算出する。この探索経路の算出方法としては、フロントラインFLを駐車場の走行路側にオフセットさせた基本走行ラインを作成し、現在の自車両1の位置から基本走行ラインに沿って走行する経路を生成する方法を例示できる。この方法の場合、自車両1は、駐車枠3の列に沿って走行する。
車両制御指令値算出部513は、駐車経路算出部511又は探索経路算出部512から入力された駐車経路又は探索経路に沿って走行するための車両制御指令値を算出して車両制御ECU60に出力する。この車両制御指令値としては、目標車速と目標操舵角とを例示できるが、自車両1の加速度等の他の指令値を含めてもよい。なお、車両制御値の算出方法としては、特に限定されるものではなく、公知の様々な方法を用いることができる。
図17は、本実施形態に係る駐車支援装置100が実行する駐車支援処理の制御手順を示すフローチャートである。本実施形態では、メインスイッチ40から駐車支援ECU50にON信号が入力されると駐車支援処理が開始され、ステップS101に進む。
ステップS101では、距離センサ群10、移動距離センサ20、及び操舵角センサ30の検出情報が、駐車支援ECU50に入力される。次に、ステップS102では、駐車車両認識部501が、距離センサ群110から極座標群として入力された点群の情報に基づいて、駐車車両2を認識する処理を実行する(図3参照)。
ステップS103では、車両代表点算出部502が、クラスタリングを行ってL字状の点群を抽出し、抽出した点群の情報に基づいて、駐車車両2の位置及び向きを算出し、車両群選定部503に出力する。次に、ステップS104では、車両群選定部503が、車両代表点算出部502から入力された各駐車車両2の代表点P1の位置及び向きの情報に基づいて、同一分類の駐車車両群4を選定し、選定した駐車車両群4に属する各駐車車両2の代表点P1の位置及び向きの情報を、駐車枠幅・角度算出部504に出力する。
ステップS105では、駐車枠幅・角度算出部504が、車両群選定部503から入力された同一分類の駐車車両群4の位置と向きの情報に基づいて、駐車枠の幅width及び角度αとフロントラインFLとを算出し、仮想駐車枠群生成部505に出力する。次に、ステップS106では、仮想駐車枠群生成部505が、駐車枠幅・角度算出部504で算出された駐車枠3の幅widthと角度αとフロントラインFLとを用いて、仮想駐車枠群6を生成し(図7参照)、駐車枠推定部506が、仮想駐車枠群6の位置を設定する。
ステップS107では、車両群選定部503が、ステップS106において設定された仮想駐車枠群と、ステップS104において選定された駐車車両群4とを照合し、代表点P1の位置と当該位置に対して最も近い駐車枠5の中心線とのオフセット量Os´が所定値以上であるか否かを判定する。このオフセット量Os´が所定値未満である場合にはステップS108に移行し、オフセット量Os´が所定位置以上である場合にはステップS121に移行する。
ステップS121では、車両群選定部503が、ステップS104において選定した駐車車両群4を複数の駐車車両群4に分類する(図18参照)。そして、ステップS105に戻る。
図18は、駐車車両群4を2つの駐車車両群4に分類する場合の具体例を示す図である。この図に示すように、まず、初期設定として、駐車車両群4の左端(又は右端)の駐車車両2の代表点P1の位置と、当該位置に対して最も近い駐車枠5の幅方向中心線との位置を一致させる。次に、全ての駐車車両2に対して、代表点P1の位置と、当該位置に対して最も近い駐車枠5の幅方向中心線とのオフセット量Os´を算出する。
ここで、例えば、図18に示すように、柱等の障害物Obが介在することにより、仮想駐車枠群6が分断される等、仮想駐車枠群6の構成に変動がある場合には、その変動があった位置を境に、オフセット量Os´が急増する。そこで、オフセット量Os´が所定位置以上となる位置、即ちオフセット量Os´が急増する位置を境に、駐車車両群4を2つの駐車車両群4に分類する。
なお、縦列駐車方式の仮想駐車枠群6の場合は、初期設定において、駐車車両群4の最後尾(又は先頭)の駐車車両2の代表点P1の位置と、当該位置に対して最も近い駐車枠5の奥行方向中心線との位置を一致させる。次に、全ての駐車車両2に対して、代表点P1の位置と、当該位置に対して最も近い駐車枠5の奥行方向中心線とのオフセット量Os´を算出する。
次に、ステップS108では、占有格子地図算出部508が、距離センサ群10から入力される反射点の情報を用いて、占有格子地図を算出し(図12参照)、駐車/空車判定部509に出力する。次に、ステップS109では、駐車/空車判定部509は、空駐車枠候補算出部507から出力された空駐車枠候補7と、占有格子地図算出部108から出力された占有格子地図とを照合し、各空駐車枠候補7が「非占有」であるか「未知」及び「占有」であるかを判定する(図13〜図16参照)。ステップS109において「非占有」と判定された場合には、ステップS110に移行し、ステップS109において「占有」及び「未知」と判定された場合には、ステップS131に移行する。
ステップS131では、探索経路算出部512が、駐車枠幅・角度算出部504から入力されたフロントラインFLの情報を用いて、目標駐車位置を探索するための走行経路を算出する。次に、ステップS132では、車両制御指令値算出部513が探索経路算出部512から入力された探索走行経路に沿って走行するための車両制御指令値を算出し、車両制御ECU60が、車両制御指令値算出部513から入力された車両制御指令値に応じて車両の駆動制御を実行する。
一方、ステップS110では、空駐車枠位置修正部510が、駐車/空車判定部509が非占有と判定した駐車枠5の中から一つの駐車枠5を選択し、選択した駐車枠5の位置を微修正することにより目標駐車位置を決定し、決定した目標駐車位置を駐車経路算出部511に出力する。
次に、ステップS111では、駐車経路算出部511が、空駐車枠位置修正部510から入力された目標駐車位置への駐車経路を算出する。次に、ステップS112では、車両制御指令値算出部513が駐車経路算出部511から入力された駐車経路に沿って走行するための車両制御指令値を算出し、車両制御ECU60が、車両制御指令値算出部513から入力された車両制御指令値に応じて車両の駆動制御を実行する。以上で、駐車支援処理を終了する。
なお、上述の駐車支援処理の制御手順では、目標駐車位置への駐車経路を算出した後、駐車動作を実行して駐車支援処理を終了したが、これには限られず、ステップS112からステップS102に戻って、逐次駐車経路を修正するようにしてもよい。
以上説明したように、本実施形態に係る駐車支援方法及び駐車支援装置100では、駐車車両2の認識情報を取得し、認識された駐車車両2に対して、複数の駐車枠3を備える駐車枠群を仮想した仮想駐車枠群6を設定して位置合わせを行う。そして、位置合わせを行った仮想駐車枠群6が備える仮想の駐車枠5を、当該仮想の駐車枠5に重ね合せた占有格子地図を用いて、駐車車両2が存在する「占有」、駐車車両2が存在しない「非占有」、及び、「占有」と「非占有」との何れであるかが不明の「未知」の何れかに分類する。これにより、認識された駐車車両2に対応して位置を設定された仮想駐車枠群6の駐車枠5について、駐車の可否が判断されることになる。そのため、仮に、手前側の駐車車両と奥側の駐車車両とに挟まれた位置に駐車可能な幅があった場合でも、当該位置が仮想の駐車枠5から位置がずれている場合には、当該位置について、駐車の可否が判断されることはない。
また、仮想の駐車枠5の位置が各センサ11〜13の死角に入ることにより、当該位置に駐車車両2が存在する可能性を否定できないような場合には、当該位置を未知と判断して、別の位置の駐車枠5について、空駐車枠候補7とするか否かを判断することができる。そのため、図19に示すように、仮想の駐車枠5の位置が各センサ11〜13の検出範囲に入る前の段階で、仮想の駐車枠5の位置についての空駐車枠候補7とするか否かを判断することができる。これによって、駐車枠3の位置が各センサ11〜13の検出範囲に入る前の段階で、目標駐車位置を設定し、その目標駐車位置への駐車経路を設定してその駐車経路に沿った駐車動作を実行できる。従って、後向き駐車の場合には、走行路において目標駐車位置の手前から目標駐車位置の奥側まで進行する際に、一旦、目標駐車位置側に寄せてから駐車態勢に入るような運転者による場合と同様の自然な駐車動作を実行できる。また、前向きでの駐車動作も可能になる。
それに対して、図20に示すように、駐車枠3の位置がセンサの検出範囲に入った後でなければ駐車枠3の位置についての空駐車枠候補とするか否かを判断できない場合には、駐車枠3の位置がセンサの検出範囲に入った後にはじめて目標駐車位置を設定でき、その時点から目標駐車位置への駐車経路を設定してその駐車経路に沿った駐車動作を実行することになる。従って、後向き駐車の場合には、目標駐車位置の横まで直進し、目標駐車位置側に寄せることなく駐車態勢に入るような運転者による場合とは異なる不自然な駐車動作を実行することになる。また、前向きでの駐車動作は不可能である。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、認識された駐車車両2に対する位置合わせを行った仮想駐車枠群6が備える仮想の駐車枠5を、「占有」、「非占有」及び「未知」の何れかに分類する際に、仮想の駐車枠5内の占有格子地図上において、「占有」の領域を除いた領域の幅widthが、自車両1の車幅v_width以上の所定の幅v_width+width_thresholdよりも小さい場合には、当該仮想の駐車枠5を、「占有」に分類する(図14参照)。即ち、仮想の駐車枠5の位置にかかわらず単純に「非占有」の領域の幅が駐車するのに十分な幅であるか否かに応じて空駐車枠候補7とするか否かを判断する手法とは異なり、仮想の駐車枠5内の「非占有」の領域に駐車するのに十分な幅があるか否かに応じて空駐車枠候補7とするか否かを判断する手法を採っている。これによって、自車両1を駐車枠3から食み出した状態で駐車させることを防止できる。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、認識された駐車車両2に対する位置合わせを行った仮想駐車枠群6が備える仮想の駐車枠5を「占有」、「非占有」及び「未知」の何れかに分類する際に、当該仮想の駐車枠5内の占有格子地図上において、「占有」の領域を除いた領域の幅widthが、所定の幅v_width+width_threshold以上であり、「非占有」の領域と「未知」の領域とが存在する場合には、想定される最小サイズの車両が「未知」の領域に収まらなければ、当該仮想の駐車枠5を、「非占有」に分類し、想定される最小サイズの車両が「未知」の領域に収まれば、当該仮想の駐車枠5を、「未知」に分類する(図15参照)。即ち、「占有」に分類されなかった仮想の駐車枠5について、「未知」の領域のサイズと想定される車両の最小サイズとに基づいて、「非占有」と「未知」とに分類するので、各センサ11〜13の死角に駐車車両が隠れている可能性を考慮して、仮想の駐車枠5を空駐車枠候補7とするか否かを合理的に判断することができる。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、認識された駐車車両2に対する位置合わせを行った仮想駐車枠群6が備える仮想の駐車枠5を「占有」、「非占有」及び「未知」の何れかに分類する際に、当該仮想の駐車枠5内の占有格子地図上において、「占有」の領域を除いた領域の幅widthが、所定の幅v_width+width_threshold以上であり、「非占有」の領域と「未知」の領域とが存在する場合には、仮想の駐車枠5内に、最小サイズの車両の代表点(例えば、後向き駐車の車両の前端中央)に判定ポイント9を設定する。そして、その判定ポイント9が「非占有」の領域に位置すれば、当該仮想の駐車枠5を、「非占有」に分類し、判定ポイント9が「未知」の領域に位置すれば、当該仮想の駐車枠5を、「未知」に分類する(図16参照)。これによって、仮想の駐車枠5の「非占有」/「未知」の分類を簡易に実施でき、計算負荷を低減して計算処理速度を高速化することができる。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、認識された駐車車両2に対する位置合わせを行った仮想駐車枠群6が備える仮想の駐車枠5の中から、認識された駐車車両2の位置と重ならない仮想の駐車枠5を抽出し、抽出した仮想の駐車枠5を、「占有」、「非占有」、及び「未知」の何れかに分類する(図11参照)。即ち、空駐車枠候補7の対象を、認識された駐車車両2と重ならない仮想の駐車枠5に限定してから、当該仮想の駐車枠を分類する。これによって、仮想の駐車枠5の分類について、計算負荷を低減して計算処理速度を高速化することができる。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、幅及び奥行の寸法が共通する複数の仮想の駐車枠5が所定の直線に沿って並列又は縦列で配されてなる仮想駐車枠群6を、認識された駐車車両2の位置及び向きに対応するように設定する(図7参照)。これにより、事前に、駐車枠の情報を含む地図情報を取得していない場合でも、角度付きではない並列駐車方式の駐車枠群(図9の上段参照)と、角度付きの並列駐車方式の駐車枠群(図9の中段参照)と、縦列駐車方式の駐車枠群(図9の下段参照)とを推定できる。ここで、白線等の駐車枠を示すラインを認識して駐車枠3を推定する手法では、駐車枠3に近づかなければ駐車枠3の位置を推定することが難しい。それに対して、本実施形態に係る駐車支援方法及び駐車支援装置100によれば、駐車枠3から離れた位置において、駐車枠3の位置を推定して駐車支援を開始することができる。
また、本実施形態に係る駐車支援方法及び駐車支援装置100では、「非占有」に分類した仮想の駐車枠5の中から、目標駐車位置を選択する。そして、選択した目標駐車位置への駐車経路を生成し、生成した駐車経路に沿って走行するように自車両を制御する。これによって、運転者の操作を要することなく、自動駐車を実行できる。
なお、以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態において開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
例えば、上述の実施形態では、自車両に備えられた距離センサを前提して説明したが、必ずしもそれに限らず、本実施形態は、駐車場に備えられたセンサや、他車両に備えられたセンサや、ユーザが携帯するカメラを前提としたものでもよい。そのような場合は、駐車枠群の情報を外部から取得して、駐車枠群における駐車状態を把握するようにしてもよい。