以下、実施形態を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用および結果(効果)は、あくまで一例であって、以下の記載内容に限られるものではない。
<第1実施形態>
まず、図1および図2を参照して、第1実施形態にかかる自動バレー駐車システムの概略について説明する。ここで、自動バレー駐車システムとは、たとえば白線などといった所定の区画線Lで区画された1以上の駐車領域Rを有する駐車場Pにおいて、以下に説明するような自動駐車および自動出庫を含む自動バレー駐車を実現するためのシステムである。
図1は、第1実施形態にかかる自動バレー駐車システムにおける自動駐車の一例を示した例示的かつ模式的な図であり、図2は、第1実施形態にかかる自動バレー駐車システムにおける自動出庫の一例を示した例示的かつ模式的な図である。
図1および図2に示されるように、自動バレー駐車においては、駐車場P内の所定の降車領域P1で車両Vから乗員Xが降車した後、所定の指示に応じて車両Vが降車領域P1から空きの駐車領域Rへ自動で移動して駐車する自動駐車(図1の矢印C1参照)と、当該自動駐車が完了した後、所定の呼び出しに応じて車両Vが駐車領域Rから出庫して所定の乗車領域P2へ自動で移動して停車する自動出庫(図2の矢印C2参照)と、が実行される。なお、所定の指示および所定の呼び出しは、乗員Xによる端末装置Tの操作によって実現される。
また、図1および図2に示されるように、自動バレー駐車システムは、駐車場Pに設けられた管制装置101と、車両Vに搭載された車両制御システム102と、を有している。管制装置101と車両制御システム102とは、無線通信によって互いに通信可能に構成されている。
ここで、管制装置101は、駐車場P内の状況を撮像する1以上の監視カメラ103から得られる画像データや、駐車場P内に設けられる各種のセンサ(不図示)などから出力されるデータを受け取ることで駐車場P内の状況を監視し、監視結果に基づいて、駐車領域Rを管理するように構成されている。以下では、駐車場P内の状況を監視するために管制装置101が受け取る情報を総称してセンサデータと記載することがある。
なお、第1実施形態において、駐車場Pにおける降車領域P1、乗車領域P2、および駐車領域Rの数や配置などは、図1および図2に示された例に制限されるものではない。第1実施形態の技術は、図1および図2に示された駐車場Pとは異なる様々な構成の駐車場に適用可能である。
次に、図3および図4を参照して、第1実施形態にかかる管制装置101および車両制御システム102の構成について説明する。なお、図3および図4に示される構成は、あくまで一例であり、第1実施形態にかかる管制装置101および車両制御システム102の構成は、種々に設定(変更)可能である。
まず、図3を参照して、第1実施形態にかかる管制装置101のハードウェア構成について説明する。
図3は、第1実施形態にかかる管制装置101のハードウェア構成を示した例示的かつ模式的なブロック図である。図3に示されるように、第1実施形態にかかる管制装置101は、PC(Personal Computer)などといった一般的な情報処理装置と同様のコンピュータ資源を有している。
図3に示される例において、管制装置101は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、通信インターフェース(I/F)304と、入出力インターフェース(I/F)305と、SSD(Solid State Drive)306と、を有している。これらのハードウェアは、データバス350を介して互いに接続されている。
CPU301は、管制装置101を統括的に制御するハードウェアプロセッサである。CPU301は、ROM302などに記憶された各種の制御プログラム(コンピュータプログラム)を読み出し、当該各種の制御プログラムに規定されたインストラクションにしたがって各種の機能を実現する。
ROM302は、上述した各種の制御プログラムの実行に必要なパラメータなどを記憶する不揮発性の主記憶装置である。
RAM303は、CPU301の作業領域を提供する揮発性の主記憶装置である。
通信インターフェース304は、管制装置101と外部装置との間の通信を実現するインターフェースである。たとえば、通信インターフェース304は、管制装置101と車両V(車両制御システム102)との間の無線通信による信号の送受信を実現する。
入出力インターフェース305は、管制装置101と外部装置との接続を実現するインターフェースである。外部装置としては、たとえば、管制装置101のオペレータが使用する入出力デバイスなどが考えられる。
SSD306は、書き換え可能な不揮発性の補助記憶装置である。なお、第1実施形態にかかる管制装置101においては、補助記憶装置として、SSD306に替えて(またはSSD306に加えて)、HDD(Hard Disk Drive)が設けられてもよい。
次に、図4を参照して、第1実施形態にかかる車両制御システム102のシステム構成について説明する。
図4は、第1実施形態にかかる車両制御システム102のシステム構成を示した例示的かつ模式的なブロック図である。図4に示されるように、車両制御システム102は、制動システム401と、加速システム402と、操舵システム403と、変速システム404と、障害物センサ405と、走行状態センサ406と、通信インターフェース(I/F)407と、車載カメラ408と、モニタ装置409と、車両制御装置410と、車載ネットワーク450と、を有している。
制動システム401は、車両Vの減速を制御する。制動システム401は、制動部401aと、制動制御部401bと、制動部センサ401cと、を有している。
制動部401aは、たとえば、ブレーキペダルなどを含んだ、車両Vを減速させるための装置である。
制動制御部401bは、たとえば、CPUなどといったハードウェアプロセッサを有したコンピュータにより構成されるECU(Electronic Control Unit)である。制動制御部401bは、車両制御装置410からの指示に基づいてアクチュエータ(不図示)を駆動し、制動部401aを作動させることで、車両Vの減速度合を制御する。
制動部センサ401cは、制動部401aの状態を検出するための装置である。たとえば、制動部401aがブレーキペダルを含む場合、制動部センサ401cは、制動部401aの状態として、ブレーキペダルの位置または当該ブレーキペダルに作用している圧力を検出する。制動部センサ401cは、検出した制動部401aの状態を車載ネットワーク450に出力する。
加速システム402は、車両Vの加速を制御する。加速システム402は、加速部402aと、加速制御部402bと、加速部センサ402cと、を有している。
加速部402aは、たとえば、アクセルペダルなどを含んだ、車両Vを加速させるための装置である。
加速制御部402bは、たとえば、CPUなどといったハードウェアプロセッサを有したコンピュータにより構成されるECUである。加速制御部402bは、車両制御装置410からの指示に基づいてアクチュエータ(不図示)を駆動し、加速部402aを作動させることで、車両Vの加速度合を制御する。
加速部センサ402cは、加速部402aの状態を検出するための装置である。たとえば、加速部402aがアクセルペダルを含む場合、加速部センサ402cは、アクセルペダルの位置または当該アクセルペダルに作用している圧力を検出する。加速部センサ402cは、検出した加速部402aの状態を車載ネットワーク450に出力する。
操舵システム403は、車両Vの進行方向を制御する。操舵システム403は、操舵部403aと、操舵制御部403bと、操舵部センサ403cと、を有している。
操舵部403aは、たとえば、ステアリングホイールやハンドルなどを含んだ、車両Vの転舵輪を転舵させる装置である。
操舵制御部403bは、たとえば、CPUなどといったハードウェアプロセッサを有したコンピュータにより構成されるECUである。操舵制御部403bは、車両制御装置410からの指示に基づいてアクチュエータ(不図示)を駆動し、操舵部403aを作動させることで、車両Vの進行方向を制御する。
操舵部センサ403cは、操舵部403aの状態を検出するための装置である。たとえば、操舵部403aがステアリングホイールを含む場合、操舵部センサ403cは、ステアリングホイールの位置または当該ステアリングホイールの回転角度を検出する。なお、操舵部403aがハンドルを含む場合、操舵部センサ403cは、ハンドルの位置または当該ハンドルに作用している圧力を検出してもよい。操舵部センサ403cは、検出した操舵部403aの状態を車載ネットワーク450に出力する。
変速システム404は、車両Vの変速比を制御する。変速システム404は、変速部404aと、変速制御部404bと、変速部センサ404cと、を有している。
変速部404aは、たとえば、シフトレバーなどを含んだ、車両Vの変速比を変更するための装置である。
変速制御部404bは、たとえば、CPUなどといったハードウェアプロセッサを有したコンピュータにより構成されるECUである。変速制御部404bは、車両制御装置410からの指示に基づいてアクチュエータ(不図示)を駆動し、変速部404aを作動させることで、車両Vの変速比を制御する。
変速部センサ404cは、変速部404aの状態を検出するための装置である。たとえば、変速部404aがシフトレバーを含む場合、変速部センサ404cは、シフトレバーの位置または当該シフトレバーに作用している圧力を検出する。変速部センサ404cは、検出した変速部404aの状態を車載ネットワーク450に出力する。
障害物センサ405は、車両Vの周囲に存在しうる障害物に関する情報を検出するための装置である。障害物センサ405は、たとえば、障害物までの距離を検出するソナーなどといった測距センサを含んでいる。障害物センサ405は、検出した情報を車載ネットワーク450に出力する。
走行状態センサ406は、車両Vの走行状態を検出するための装置である。走行状態センサ406は、たとえば、車両Vの車輪速を検出する車輪速センサや、車両Vの前後方向または左右方向の加速度を検出する加速度センサや、車両Vの旋回速度(角速度)を検出するジャイロセンサなどを含んでいる。走行状態センサ406は、検出した走行状態を車載ネットワーク450に出力する。
通信インターフェース407は、車両制御システム102と外部装置との間の通信を実現するインターフェースである。たとえば、通信インターフェース407は、車両制御システム102と管制装置101との間の無線通信による信号の送受信や、車両制御システム102と端末装置Tとの間の無線通信による信号の送受信などを実現する。
車載カメラ408は、車両Vの周辺の状況を撮像するための装置である。たとえば、車載カメラ408は、車両Vの前方、後方、および側方(左右両方)の路面を含む領域を撮像するように複数設けられる。車載カメラ408によって得られた画像データは、車両Vの周辺の状況の監視(障害物の検出も含む)に使用される。車載カメラ408は、得られた画像データを車両制御装置410に出力する。なお、以下では、車載カメラ408から得られる画像データと、車両制御システム102に設けられる上述した各種のセンサから得られるデータと、を総称してセンサデータと記載することがある。
モニタ装置409は、車両Vの車室内のダッシュボードなどに設けられる。モニタ装置409は、表示部409aと、音声出力部409bと、操作入力部409cと、を有している。
表示部409aは、車両制御装置410の指示に応じて画像を表示するための装置である。表示部409aは、たとえば、液晶ディスプレイ(LCD:Liquid Crystal Display)や、有機ELディスプレイ(OELD:Organic Electroluminescent Display)などによって構成される。
音声出力部409bは、車両制御装置410の指示に応じて音声を出力するための装置である。音声出力部409bは、たとえば、スピーカによって構成される。
操作入力部409cは、車両V内の乗員の入力を受け付けるための装置である。操作入力部409cは、たとえば、表示部409aの表示画面に設けられるタッチパネルや、物理的な操作スイッチなどによって構成される。操作入力部409cは、受け付けた入力を車載ネットワーク450に出力する。
車両制御装置410は、車両制御システム102を統括的に制御するための装置である。車両制御装置410は、CPU410aや、ROM410b、RAM410cなどといったコンピュータ資源を有したECUである。
より具体的に、車両制御装置410は、CPU410aと、ROM410bと、RAM410cと、SSD410dと、表示制御部410eと、音声制御部410fと、を有している。
CPU410aは、車両制御装置410を統括的に制御するハードウェアプロセッサである。CPU410aは、ROM410bなどに記憶された各種の制御プログラム(コンピュータプログラム)を読み出し、当該各種の制御プログラムに規定されたインストラクションにしたがって各種の機能を実現する。
ROM410bは、上述した各種の制御プログラムの実行に必要なパラメータなどを記憶する不揮発性の主記憶装置である。
RAM410cは、CPU410aの作業領域を提供する揮発性の主記憶装置である。
SSD410dは、書き換え可能な不揮発性の補助記憶装置である。なお、第1実施形態にかかる車両制御装置410においては、補助記憶装置として、SSD410dに替えて(またはSSD410dに加えて)、HDDが設けられてもよい。
表示制御部410eは、車両制御装置410で実行される各種の処理のうち、主として、車載カメラ408から得られた画像データに対する画像処理や、モニタ装置409の表示部409aに出力する画像データの生成などを司る。
音声制御部410fは、車両制御装置410で実行される各種の処理のうち、主として、モニタ装置409の音声出力部409bに出力する音声データの生成などを司る。
車載ネットワーク450は、制動システム401と、加速システム402と、操舵システム403と、変速システム404と、障害物センサ405と、走行状態センサ406と、通信インターフェース407と、モニタ装置409の操作入力部409cと、車両制御装置410と、を通信可能に接続する。
ところで、自動バレー駐車システムにおける自動駐車および自動出庫のような自動走行を実現するためには、自動走行中における車両Vの現在位置を正確に把握することが重要となる。この点に関して、従来から、車輪速センサなどの検出値を用いて車両Vの現在位置を推定する手法(いわゆるオドメトリ)が知られている。しかしながら、この手法においては、車両Vの移動距離が大きくなる程、推定結果の誤差が累積されて大きくなっていくため、車両Vの現在位置を正確に把握することができない場合がある。
そこで、第1実施形態では、車両制御装置410に以下のような機能を持たせることで、自動駐車および自動出庫における自動走行中に車両Vの現在位置を正確に把握することを実現する。つまり、第1実施形態において、車両制御装置410は、「車両位置推定装置」の一例である。
図5は、第1実施形態にかかる管制装置101および車両制御装置410の機能を示した例示的かつ模式的なブロック図である。この図5に示される機能は、ソフトウェアとハードウェアとの協働によって実現される。つまり、図5に示される例において、管制装置101の機能は、CPU301がROM302などに記憶された所定の制御プログラムを読み出して実行した結果として実現され、車両制御装置410の機能は、CPU410aがROM410bなどに記憶された所定の制御プログラムを読み出して実行した結果として実現される。なお、第1実施形態では、図5に示される管制装置101および車両制御装置410の一部または全部が専用のハードウェア(回路)のみによって実現されてもよい。
図5に示されるように、第1実施形態にかかる管制装置101は、機能的構成として、通信制御部511と、センサデータ取得部512と、駐車場データ管理部513と、誘導経路生成部514と、を有している。
通信制御部511は、車両制御装置410との間で実行される無線通信を制御する。たとえば、通信制御部511は、車両制御装置410との間で所定のデータを送受信することで車両制御装置410の認証を行ったり、自動駐車および自動出庫が完了した際に車両制御装置410から出力される所定の完了通知を受信したり、後述する駐車場Pの地図データや誘導経路などを必要に応じて車両制御装置410に送信したりする。
センサデータ取得部512は、駐車場P内に設けられる監視カメラ103や各種のセンサ(不図示)などから上述したセンサデータを取得する。センサデータ取得部512により取得されるセンサデータ(特に監視カメラ103から得られる画像データ)は、たとえば、駐車領域Rの空き状況の把握などに使用することが可能である。
駐車場データ管理部513は、駐車場Pに関するデータ(情報)を管理する。たとえば、駐車場データ管理部513は、駐車場Pの地図データや、駐車領域Rの空き状況などを管理する。たとえば、駐車場データ管理部513は、自動駐車が行われる際、空いている駐車領域Rの中から1つの駐車領域Rを選択し、選択した1つの駐車領域Rを、自動駐車における車両Vの到達目標である目標駐車領域として指定する。また、駐車場データ管理部513は、自動駐車が完了した後に車両Vが再び移動して駐車領域Rが変更された場合、センサデータ取得部512から取得されるセンサデータに基づいて、変更後の駐車領域Rを特定する。
誘導経路生成部514は、自動駐車および自動出庫が行われる際に車両制御装置410に指示する誘導経路を生成する。より具体的に、誘導経路生成部514は、自動駐車が行われる際においては、降車領域P1から目標駐車領域へ至る概略的な経路を誘導経路として生成し、自動出庫が行われる際においては、目標駐車領域(自動駐車後に車両Vが移動している場合には車両Vが現在駐車している駐車領域R)から乗車領域P2へ至る概略的な経路を誘導経路として生成する。
一方、図5に示されるように、第1実施形態にかかる車両制御装置410は、機能的構成として、通信制御部521と、センサデータ取得部522と、走行制御部523と、位置推定部524と、を有している。
通信制御部521は、管制装置101との間で実行される無線通信を制御する。たとえば、通信制御部521は、管制装置101との間で所定のデータを送受信することで車両制御装置410の認証を行ったり、自動駐車および自動出庫が完了した際に所定の完了通知を管制装置101に送信したり、駐車場Pの地図データや誘導経路などを必要に応じて管制装置101から受信したりする。したがって、通信制御部521は、駐車場Pの地図データを取得する地図データ取得部として機能する。
なお、第1実施形態において、地図データは、たとえば、駐車場Pの路面に設置されうる各種の路面標示(具体例は後述する)の絶対位置を特定するための情報を含んでいる。ここで言及している絶対位置は、路面標示が有する方向性(絶対方位)も含みうる概念である。つまり、路面標示が所定の向き(方向性)を持った線状の標示を含んでいる場合、地図データからは、路面標示が設けられた絶対位置のみならず、路面標示に含まれる線状の標示によって表される絶対方位も特定可能である。
センサデータ取得部522は、車載カメラ408によって得られる画像データを取得する画像データ取得部の一例であり、当該画像データと、車両制御システム102に設けられる各種のセンサから出力されるデータと、を含むセンサデータを取得する。センサデータ取得部522により取得されるセンサデータは、たとえば、管制装置101から受信された誘導経路を基にした実際の走行経路(駐車経路および出庫経路を含む)の生成や、当該走行経路に沿って実際に走行する際に必要となる各種のパラメータ(車速や舵角、進行方向など)の設定など、次の走行制御部523により実行される車両Vの各種の走行制御に使用することが可能である。
走行制御部523は、制動システム401や加速システム402、操舵システム403、変速システム404などを制御することで、降車領域P1からの発進制御や、降車領域P1から駐車領域Rへの走行制御(駐車制御を含む)、駐車領域Rから乗車領域P2への走行制御(出庫制御を含む)、乗車領域P2への停車制御などといった、自動駐車および自動出庫を実現するための各種の走行制御を実行するように、車両Vの走行状態を制御する。
位置推定部524は、自動駐車および自動出庫における車両Vの自動走行中に、上述したオドメトリによって車両Vの現在位置を推定する。そして、位置推定部524は、センサデータ取得部522により取得される画像データに基づいて、オドメトリによる推定結果を、その累積誤差をキャンセルするように補正することで、車両Vの現在位置(実位置)を推定する。なお、ここで言及している実位置は、車両Vの向き(実方位)も含む概念である。
すなわち、第1実施形態において、位置推定部524は、自動走行の実施中に、まず、センサデータ取得部522により取得される画像データから、車両Vの周辺に位置する路面標示に関する路面標示データを検出することで、画像データ上における車両Vに対する路面標示の相対位置を算出する。そして、位置推定部524は、路面標示の相対位置に基づいて特定される路面標示の計算上の絶対位置と、通信制御部531により取得される駐車場データに基づく路面標示の正規の絶対位置と、の差分に基づいて、オドメトリに基づく推定結果を補正し、補正後の値を、車両Vの現在位置(実位置)の正規の推定値として設定する。なお、ここで言及している相対位置は、車両Vに対する路面標示の相対方位も含みうる概念である。
たとえば、第1実施形態において、位置推定部524は、以下に説明する例のように、自動走行によって車両Vが区画線Lと交差する方向に走行している場合に、車両Vの側方の状況を表す画像データであるサイド画像データに基づいて、区画線Lのうち車両に近い側の端部Eの位置と、区画線Lの向きと、に関する路面標示データを検出する。そして、位置推定部524は、検出した路面標示データに基づいて、車両Vを基準とした区画線Lの端部Eの位置を表す相対位置と、車両Vを基準とした区画線Lの向きを表す相対方位と、算出する。そして、位置推定部524は、算出した区画線Lの相対位置および相対方位と、駐車場Pの地図データに基づく区画線Lの絶対位置および絶対方位と、に基づいて、オドメトリに基づく推定結果を補正し、車両Vの現在位置(実位置および実方位)を推定する。
図6は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の一例を説明するための例示的かつ模式的な図である。図6に示される例では、車両Vが、当該車両Vの左側方に位置する3本の区画線L61〜L63と交差する方向に走行している。
図6に示される例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、区画線L62の端部E62を含む領域A61に対応している。したがって、車両Vの左側部に設けられる車載カメラ408によって得られるサイド画像データに対して白線検出処理などの画像認識処理を実施すれば、区画線L62の位置および向きに関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、区画線L62の相対位置(より具体的には区画線L62の端部Eの相対位置)と、区画線L62の相対方位(より具体的には区画線L62の延びる方向を表す相対方位)と、を算出することができる。そして、算出した相対位置および相対方位と、オドメトリに基づく車両Vの位置および方位の推定結果と、を利用すれば、区画線L62の計算上の絶対位置および絶対方位を特定することができる。
ここで、区画線L62の計算上の絶対位置(および絶対方位)は、上記のように、オドメトリに基づく推定結果を利用して特定されるものであるので、オドメトリによる累積誤差の影響が含まれうる。一方、前述したように、管制装置101で管理される駐車場Pの地図データは、路面標示の正規の絶対位置(および絶対方位)を特定するための情報を含んでいるため、地図データには、路面標示としての区画線L62の正規の絶対位置(および絶対方位)を特定するための区画線データが含まれる。
そこで、第1実施形態において、通信制御部521は、管制装置101から、地図データとしての区画線データを取得する。そして、位置推定部524は、上記の相対位置(相対方位を含む)に基づいて特定される区画線L62の計算上の絶対位置と、区画線データに基づいて特定される区画線L62の正規の絶対位置(絶対方位を含む)と、の差分をとり、当該差分に基づいて、オドメトリによる推定結果のずれを補正し、補正後の値を、車両Vの実位置(実方位を含む)として推定する。なお、このような相対位置および相対方位の両方を考慮した補正については、後で図面を参照しながらより具体的に説明するため、ここではこれ以上の説明を省略する。
上述した図6に示される例においては、サイド画像データから1つの路面標示(区画線L62)が検出され、当該1つの路面標示の相対位置および相対方位の両方が算出されることで、車両Vの実位置および実方位が推定されている。しかしながら、第1実施形態では、以下に説明するように、サイド画像データから少なくとも2つの路面標示を検出することができれば、当該少なくとも2つの路面標示の相対位置のみを算出するだけ(相対方位は算出しない)で、当該少なくとも2つの路面標示の位置関係に基づいて、車両Vの実位置および実方位を推定することも可能である。
図7は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の図6とは異なる一例を説明するための例示的かつ模式的な図である。図7に示される例では、車両Vが、当該車両Vの左側方に位置する3本の区画線L71〜L73および車両Vの右側方に位置する3本の区画線L74〜L76と交差する方向に走行している。
図7に示される例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、区画線L72の端部E72を含む領域A71に対応しており、車両の右側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、区画線L76の端部E76を含む領域A72に対応している。
したがって、図7に示される例では、上記の2つの車載カメラ408によって得られる一対のサイド画像データに対して白線検出処理などの画像認識処理を行えば、区画線L72およびL76の端部E72およびE76の位置に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、区画線L72の相対位置(より具体的には区画線L72の端部E72の相対位置)と、区画線L76の相対位置(より具体的には区画線L76の端部E76の相対位置)と、を算出することができる。そして、算出した相対位置と、オドメトリに基づく推定結果と、を利用すれば、区画線L72およびL76の端部E72およびE76の計算上の絶対位置を特定することができる。
位置推定部524は、上記の相対位置に基づいて特定される区画線L72およびL76の端部E72およびE76の計算上の絶対位置と、地図データ(区画線データ)に基づいて特定される区画線L72およびL76の端部E72およびE76の正規の絶対位置と、を照合することで、オドメトリによる車両Vの位置および向き(方位)の推定結果のずれを補正する。なお、図7に示される例では、上述した図6に示される例と異なり、照合の対象となるポイントが2つであるので、これら2つのポイントと車両Vとの位置関係が特定されれば、各ポイントの方位を個別に特定することなく、車両Vの向き(方位)の推定結果のずれを補正することが可能である。
このように、図7に示される例によれば、区画線L72およびL76の相対方位を算出することなく、区画線L72およびL76の相対位置のみを算出するだけで、車両Vの実位置および実方位を推定することができる。なお、このような相対方位を含まない相対位置のみを用いた補正の方法については、後で図面を参照しながらより具体的に説明するため、ここではこれ以上の説明を省略する。
上述した図6および図7に示される例では、2つのサイド画像データ(左サイド画像データおよび右サイド画像データ)からそれぞれ1つずつ合計2つの路面標示(区画線L72およびL76)が検出され、これら2つの路面標示の相対位置の位置関係が算出されることで、車両Vの実位置および実方位が推定されている。しかしながら、第1実施形態では、以下に説明するように、1つのサイド画像データから複数の路面標示を同時に検出し、これら複数の路面標示の相対位置の位置関係を算出することで、車両Vの実位置および実方位を推定することも可能である。
図8は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の図6および図7とは異なる一例を説明するための例示的かつ模式的な図である。図8に示される例では、車両Vが、当該車両Vの左側方に位置する3本の区画線L81〜L83と交差する方向に走行している。
図8に示される例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲は、区画線L81の端部E81と、区画線L82の端部E82と、を含む領域A81に対応している。したがって、図8に示される例では、車両Vの左側部に設けられる車載カメラ408によって得られる1つのサイド画像データに対して白線検出処理などの画像認識処理を行えば、区画線L81およびL82の端部E81およびE82の位置に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、区画線L81の相対位置(より具体的には区画線L81の端部E81の相対位置)と、区画線L82の相対位置(より具体的には区画線L82の端部E82の相対位置)と、を算出することができる。そして、算出した相対位置と、オドメトリに基づく推定結果と、を利用すれば、区画線L81およびL82の端部E81およびE82の計算上の絶対位置を特定することができる。
位置推定部524は、上記の相対位置に基づいて特定される区画線L81およびL82の端部E81およびE82の計算上の絶対位置と、地図データ(区画線データ)に基づいて特定される区画線L81およびL82の端部E81およびE82の正規の絶対位置と、を照合することで、オドメトリによる車両Vの位置および向き(方位)の推定結果のずれを補正する。図8に示される例によれば、1つのサイド画像データのみを用いて、上述した図7に示される例と同様の推定、すなわち相対方位を含まない相対位置のみに基づく車両Vの実位置および実方位の推定を行うことができる。
上述した図8に示される例では、路面標示として区画線Lが用いられている。しかしながら、第1実施形態では、以下に説明するように、区画線L以外の路面標示(所定方向に延びる線分LSを含んだマーカM)を用いることも可能である。
図9は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の図6〜図8とは異なる一例を説明するための例示的かつ模式的な図である。図9に示される例では、車両Vが、当該車両Vの左側に位置する3つの区画線L91〜L93と交差するように走行している。
ここで、図9に示される例では、路面標示として、3つの区画線L91〜L93に加えて、2つのマーカM91およびM92が設置されている。マーカM91は、線分LS91を含み、区画線L91およびL92の間に設置されている。また、マーカM92は、線分LS92を含み、区画線L92およびL93の間に設置されている。
図9に示される例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、マーカM91およびM92を含む領域A91に対応している。したがって、車両Vの左側部に設けられる車載カメラ408によって得られるサイド画像データに対して白線検出処理などの画像認識処理を実施すれば、マーカM91およびM92のそれぞれの位置(たとえば中心位置)と、マーカM91およびM92に含まれる線分LS91およびLS92のそれぞれの向きと、に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、マーカM91およびM92の相対位置(マーカM91およびM92の中心の相対位置)と、マーカM91およびM92の方位(線分LS91およびLS92の向きを表す相対方位)と、と、を算出することができる。そして、算出した相対位置および相対方位と、オドメトリに基づく車両Vの位置および方位の推定結果と、を利用すれば、マーカM91およびM92の計算上の絶対位置および絶対方位を特定することができる。
上述した図6などに示される例と同様、マーカM91およびM92の計算上の相対位置(および相対方位)は、上記のように、オドメトリに基づく推定結果を利用して特定されるものであるので、オドメトリによる累積誤差の影響が含まれうる。一方、前述したように、管制装置101で管理される駐車場Pの地図データは、路面標示の正規の絶対位置(および絶対方位)を特定するための情報を含んでいるため、地図データには、路面標示としてのマーカM91およびM92の正規の絶対位置(および絶対方位)を特定するためのマーカデータが含まれる。
そこで、第1実施形態において、通信制御部521は、管制装置101から、地図データとしてのマーカデータを取得する。そして、位置推定部524は、上記の相対位置(相対方位を含む)に基づいて特定されるマーカM91およびM92の計算上の絶対位置と、マーカデータに基づいて特定されるマーカM91およびM92の正規の絶対位置(絶対方位を含む)と、の差分をとり、当該差分に基づいて、オドメトリによる推定結果のずれを補正し、補正後の値を、車両Vの実位置(実方位を含む)として推定する。
上述した図6〜図9に示される例では、区画線LおよびマーカMの一方のみが用いられている。しかしながら、第1実施形態では、区画線LおよびマーカMの両方を用いることも可能である。特に、以下に説明するような車両Vの旋回時では、現在位置の推定精度の向上が望まれるため、区画線LおよびマーカMの両方を考慮して、推定のもととなるデータを増やすのが有益である。
図10は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の図6〜図9とは異なる一例を説明するための例示的かつ模式的な図である。図10に示される例では、車両Vが、区画線L101およびL102と、当該区画線L101およびL102の近傍にL字状に配置されたマーカM101〜M103とを内側にして、矢印C100に沿って左回りに旋回している。なお、マーカM101〜M103の形状は、図10に示される例に制限されるものではない。
図10に示される例において、位置推定部524は、車両Vの旋回時に、車両Vの旋回の内側の状況を表す画像データである内側画像データをセンサデータ取得部522により取得する。そして、通信制御部521は、管制装置101から、地図データとして、区画線データおよびマーカデータの両方を取得する。そして、位置推定部524は、内側画像データから、区画線L101およびL102とマーカM101〜M103とに関する路面標示データを検出し、検出した路面標示データに基づいて、車両Vに対する区画線L101およびL102とマーカM101〜M103との相対位置を算出する。
そして、位置推定部524は、算出した相対位置と、オドメトリに基づく車両Vの位置および方位の推定結果と、に基づいて、区画線L101およびL102とマーカM101〜M103との計算上の絶対位置を特定する。そして、位置推定部524は、特定した計算上の絶対位置と、区画線データおよびマーカデータから特定される正規の絶対位置と、の差分に基づいて、オドメトリによる推定結果のずれを補正し、補正後の値を、車両Vの実位置(実方位を含む)として推定する。
なお、図10に示される例では、3つのマーカM(M101〜M103)がL字状に配置されている。しかしながら、第1実施形態では、旋回する車両Vの車載カメラの撮像範囲に入っていれば、マーカMの個数および配置は、種々に設定(変更)可能である。また、図10に示される例では、区画線LとマーカMとの両方が考慮されることで車両Vの実位置が推定されている。しかしながら、第1実施形態では、区画線LおよびマーカMの少なくとも一方が考慮されれば、区画線Lのみ、あるいはマーカMのみが考慮されることで車両Vの実位置が推定されてもよい。この場合、通信制御部521は、地図データとして、区画線データおよびマーカデータのうち、考慮すべき路面標示データに対応する方のデータを取得すればよい。
また、図6〜図10に示される例では、端部が丸いU字状に構成された区画線Lが例示されている。しかしながら、第1実施形態では、端部が矩形状に構成された区画線Lが用いられてもよい。また、第1実施形態では、区画線LおよびマーカMの相対位置の検出に、車両Vの側部に設けられる車載カメラ408によって得られるサイド画像データのみならず、車両Vの前部(たとえばフロントバンパ)に設けられる車載カメラ408によって得られるフロント画像データや、後部(たとえばリヤバンパ)に設けられる車載カメラ408によって得られるリヤ画像データなどが用いられてもよい。
ここで、上述した図6〜図10において実施されうる補正の具体的内容について図面を参照しながら詳細に説明する。
まず、上述した図6などにおいて実施されうる、1つの路面標示の相対位置および相対方位の両方を考慮した補正の詳細について説明する。
図11は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる、1つの路面標示の相対位置および相対方位の両方を考慮した補正の詳細を説明するための例示的かつ模式的な図である。
図11において、矩形状の領域R1は、車載カメラ408によって取得された画像データに射影変換を施すことで生成される、車載カメラ408の撮像範囲を平面視で表した領域である。当該領域R1内には、路面標示の例として、方向D1に延びる区画線L1が含まれている。なお、図11においては、簡単化のため、区画線L1の形状が単純化された状態で表されている。
図11に示されるように、第1実施形態にかかる位置推定部524は、まず、領域R1の中心C1を原点としたX−Y座標系を構成し、当該原点を基準とした区画線L1の相対位置および相対方位を示す値を算出する。なお、X軸は、車両V(図11には不図示)の向きと一致するように設定され、Y軸は、車載カメラ408の向きと一致するように設定される。図11に示される例では、相対位置を示す値として、区画線L1の端部E1の中心点P10の座標(X1,Y1)が算出され、相対方位を示す値として、区画線L1の延びる方向D1を表す値、たとえばX軸を基準とした反時計回りの角度(図示された例では90度)が算出される。
そして、位置推定部524は、予め設定されたパラメータに基づいて、上記の座標(X1,Y1)を、実際の距離の次元に変換する。ここで使用されるパラメータは、たとえば、画像データの1ドットが現実では何メートルに対応するかを示すパラメータ(単位は[m/dot])である。以下では、変換後の中心点P10を点P20と表記し、当該点P20の座標を(X2,Y2)と表記する場合がある。
そして、位置推定部524は、以下に説明するように、X−Y座標系の原点を適宜変更していくことで、車両Vに対する区画線L1の相対位置(および相対方位)を算出する。
図12は、第1実施形態にかかる車両制御装置の位置推定部により実施されうる、1つの路面標示の相対位置および相対方位の両方を考慮した補正の詳細を図11に続いて説明するための例示的かつ模式的な図である。
図12に示されるように、上記の点P20の座標(X2,Y2)の算出が完了すると、位置推定部524は、X−Y座標系の原点を、上記の中心C1から、車載カメラ408の中心C2へと変更する。そして、位置推定部524は、変更後のX−Y座標系を基準とした、上記の点P20に対応した点P30の座標(X3,Y3)と、上記の方向D1を表す値と、を算出する。原点の変更後においても、原点の変更前と同様に、X軸は、車両Vの向きと一致するように設定され、Y軸は、車載カメラ408の向きと一致するように設定される。したがって、図12に示される例においては、方向D1を表す値としてのX軸を基準としたパラメータは原点の変更の前後で特に変化せず、また、原点の変更前の中心C1と原点の変更後の中心C2とは、共にY軸上に位置する。
ここで、車載カメラ408の中心C2と、当該車載カメラ408の撮像範囲に対応した領域R1の中心C1と、の距離は、車載カメラ408のスペックなどに応じて予め決まっている。したがって、図12に示される例においては、座標(X2,Y2)のY軸成分に所定のパラメータを加算するだけで、原点の変更後の座標(X3,Y3)を容易に算出することができる。
なお、点P30の座標(X3,Y3)の算出が完了すると、位置推定部524は、X−Y座標系の原点を、車載カメラ408の中心C2から、車両Vの中心C3へとさらに変更し、上記の点P30に対応する点の座標と、上記の方向D1を表す値と、をさらに算出する。中心C2およびC3の関係は、車両Vのスペックなどに応じて予め決まっている。このようにして算出された座標の値が、車両V(の中心C3)を基準とした区画線L1の相対位置および相対方位を表す値となる。
そして、相対位置の算出が完了すると、位置推定部524は、相対位置と、オドメトリに基づいて推定された車両V(の中心C3)の位置および方位と、に基づいて、区画線L1の計算上の絶対位置および絶対方位を特定する。
一方、位置推定部524は、通信制御部521によって取得された地図データから、オドメトリに基づいて推定された車両Vの位置の周辺の区画線L(つまり区画線L1)に関する区画線データを抽出する。この区画線データには、たとえば、区画線L1の両端点の(正規の)絶対位置が含まれる。これら両端点の絶対位置の位置関係を考慮すれば、区画線L1の延びる方向D1を表す絶対方位を特定することができる。したがって、位置推定部524は、地図データから抽出される区画線データに基づいて、区画線L1の端部E1の絶対位置と、区画線L1の延びる方向を表す絶対方位と、を特定する。
そして、位置推定部524は、画像データに基づいて特定された区画線L1の計算上の絶対位置(および絶対方位)と、地図データ(区画線データ)に基づいて特定された区画線L1の正規の絶対位置(および絶対方位)と、の差分をとる。この差分は、オドメトリによる車両Vの位置および方位の推定結果の累積誤差に相当する。したがって、位置推定部524は、累積誤差をキャンセルするように、オドメトリによる車両Vの位置および方位の推定結果を補正し、補正後の値を、車両Vの正規の現在位置(実位置および実方位)として設定する。
次に、上述した図7などにおいて実施されうる、複数の路面標示の相対位置のみを考慮した補正の詳細について説明する。この補正は、複数の路面標示の個別の相対方位を考慮することがないという点以外は、上述した補正と基本的に同様である。
図13は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる、複数の路面標示の相対位置のみを考慮した補正の詳細を説明するための例示的かつ模式的な図である。なお、図13においては、簡単化のため、車載カメラ408および車両Vの形状が単純化された状態で表されている。
図13において、矩形状の領域R11は、車載カメラ408によって取得された画像データに射影変換を施すことで生成される、車載カメラ408の撮像範囲を平面視で表した領域である。当該領域R11内には、路面標示の例として、2つの区画線L11およびL12が含まれている。なお、図13においても、図11と同様に、説明の簡単化のため、区画線Lの形状が簡略化された状態で表されている。
図13に示されるように、第1実施形態にかかる位置推定部524は、まず、領域R11の中心C11を原点としたX−Y座標系を構成し、当該原点を基準とした区画線L11およびL12の端部E11およびE12の相対位置を示す値を算出する。図13に示される例では、相対位置として、区画線L11の端部E11の中心点P11の座標(X11,Y11)と、区画線L12の端部E12の中心点P12の座標(X12,Y12)と、が算出される。
そして、位置推定部524は、予め設定されたパラメータ(前述したものと同様)に基づいて、上記の座標(X1,Y1)および(X12,Y12)を、実際の距離の次元に変換する。以下では、変換後の中心点P11およびP12をそれぞれ点P21およびP22と表記し、当該点P21およびP22の座標をそれぞれ(X21,Y21)および(X22,Y22)と表記する場合がある。
そして、位置推定部524は、以下に説明するように、X−Y座標系の原点を適宜変更していくことで、車両Vに対する区画線L11およびL12の相対位置を算出する。
図14は、第1実施形態にかかる車両制御装置410の位置推定部524により実施されうる、複数の路面標示の相対方位を含まない相対位置のみに基づく現在位置の推定方法の詳細を図13に続いて説明するための例示的かつ模式的な図である。
図14に示されるように、上記の点P21およびP22の座標(X21,Y21)および(X22,Y22)の算出が完了すると、位置推定部524は、X−Y座標系の原点を、上記の中心C11から、車載カメラ408の中心C12へと変更する。そして、位置推定部524は、変更後のX−Y座標系を基準とした、上記の点P21およびP22に対応した点P31およびP32の座標(X31,Y31)および(X32,Y32)をそれぞれ算出する。
そして、点P31およびP32の座標(X31,Y31)および(X32,Y32)の算出が完了すると、位置推定部524は、X−Y座標系の原点を、車載カメラ408の中心C12から、車両Vの中心C13へとさらに変更し、変更後のX−Y座標系を基準とした上記の点P3に対応した点の座標をさらに算出する。このようにして算出された座標の値が、車両V(の中心C13)を基準とした区画線L11およびL12の相対位置を表す値となる。
そして、相対位置の算出が完了すると、位置推定部524は、相対位置と、オドメトリに基づいて推定された車両V(の中心C13)の位置と、に基づいて、区画線L11およびL12の計算上の絶対位置および絶対方位を特定する。
そして、位置推定部524は、画像データに基づいて特定された区画線L11およびL12の計算上の絶対位置と、地図データ(区画線データ)に基づいて特定された区画線L11およびL12の正規の絶対位置と、の差分をとり、差分に基づいて、オドメトリによる車両Vの位置の推定結果を補正する。なお、区画線L11およびL12の計算上の絶対位置と正規の絶対位置とのずれが分かれば、車両Vも含めた3点の位置関係に基づいて、車両Vの向きのずれも分かるので、上記の差分によれば、オドメトリによる車両Vの方位の推定結果も補正することができる。そして、位置推定部524は、補正後の値を、車両Vの正規の現在位置(実位置および実方位)として設定する。
次に、図15〜図19を参照して、第1実施形態にかかる自動バレー駐車システムで実行される処理について説明する。
図15は、第1実施形態において自動駐車が実行される場合に管制装置101および車両制御装置410が実行する処理の流れを示した例示的かつ模式的なシーケンス図である。この図15に示される処理シーケンスは、乗員Xが降車領域P1で端末装置Tを操作することで、自動駐車のトリガとなる所定の指示を行った場合に開始する。
図15に示される処理シーケンスでは、まず、S1101において、管制装置101と車両制御装置410とが通信を確立する。このS1101においては、識別情報(ID)の送受信による認証や、管制装置101の監視下での自動走行を実現するための運行権限の譲受などが実行される。
S1101で通信が確立すると、管制装置101は、S1102において、駐車場Pの地図データを車両制御装置410に送信する。
そして、管制装置101は、S1103において、駐車領域Rの空きを確認し、空いている1つの駐車領域Rを、車両Vに与える目標駐車領域として指定する。
そして、管制装置101は、S1104において、降車領域P1からS1103で指定した目標駐車領域への(概略的な)誘導経路を生成する。
そして、管制装置101は、S1105において、S1104で生成された誘導経路を車両制御装置410に送信する。
一方、車両制御装置410は、S1102で管制装置101から送信された地図データを受信した後のS1106において、降車領域P1内における初期位置を推定する。初期位置とは、降車領域P1からの発進の起点となる、降車領域P1内における車両Vの現在位置である。初期位置の推定には、上述した現在位置の推定と同様の、車載カメラ408によって得られる画像データを用いた手法が用いられうる。なお、図15に示される例では、S1106の処理がS1105の処理の前に実行されているが、S1106の処理は、S1105の処理の後に実行されてもよい。
S1106で初期位置を推定し、かつ、S1105で管制装置101から送信された誘導経路を受信すると、車両制御装置410は、S1107において、S1106で推定された初期位置などに基づいて、実際の自動駐車の際に辿るべき、誘導経路よりも精度の高い走行経路を生成する。
そして、車両制御装置410は、S1108において、降車領域P1からの発進制御を実行する。
そして、車両制御装置410は、S1109において、S1107で生成された走行経路に沿った走行制御を実行する。この走行制御は、上述したような画像データを用いた手法による現在位置の推定を伴って実行される。なお、現在位置の推定時に実行される処理の流れについては、後で別の図面を参照しながら詳細に説明するため、ここではこれ以上の説明を省略する。
そして、車両制御装置410は、S1110において、目標駐車領域への駐車制御を実行する。
そして、S1110における駐車制御が完了すると、車両制御装置410は、S1111において、駐車完了の通知を管制装置101に送信する。
以上のようにして、自動バレー駐車における自動駐車が実現される。
図16は、第1実施形態において自動出庫が実行される場合に管制装置101および車両制御装置410が実行する処理の流れを示した例示的かつ模式的なシーケンス図である。この図16に示される処理シーケンスは、乗員Xが乗車領域P2で端末装置Tを操作することで、自動出庫のトリガとなる所定の呼び出しを行った場合に開始する。
図16に示される処理シーケンスでは、まず、S1201において、管制装置101と車両制御装置410とが通信を確立する。このS1201においては、上述した図15のS1101と同様に、識別情報(ID)の送受信による認証や、管制装置101の監視下での自動走行を実現するための運行権限の譲受などが実行される。
S1201で通信が確立すると、管制装置101は、S1202において、駐車場Pの地図データを車両制御装置410に送信する。
そして、管制装置101は、S1203において、通信相手の車両制御装置410を搭載した車両Vが現在位置している駐車領域Rを確認する。第1実施形態では、このS1203の処理が、監視カメラ103によって得られる画像データなどに基づいて実行される。
そして、管制装置101は、S1204において、S1203で確認された駐車領域Rから乗車領域P2への(概略的な)誘導経路を生成する。
そして、管制装置101は、S1205において、S1204で生成された誘導経路を車両制御装置410に送信する。
一方、車両制御装置410は、S1202で管制装置101から送信された地図データを受信した後のS1206において、車両Vが現在位置している駐車領域R内における出庫位置を推定する。出庫位置とは、駐車領域Rからの出庫の起点となる、駐車領域R内における車両Vの現在位置である。出庫位置の推定には、上述した現在位置の推定と同様の手法(画像認識処理によって画像データから検出された所定の路面標示データと地図データとを用いる手法)が用いられうる。なお、図16に示される例では、S1206の処理がS1205の処理の前に実行されているが、S1206の処理は、S1205の処理の後に実行されてもよい。
S1206で出庫位置を推定し、かつ、S1205で管制装置101から送信された誘導経路を受信すると、車両制御装置410は、S1207において、S1206で推定された出庫位置などに基づいて、実際の自動出庫の際に辿るべき、誘導経路よりも精度の高い走行経路を生成する。
そして、車両制御装置410は、S1208において、駐車領域Rからの出庫制御を実行する。
そして、車両制御装置410は、S1209において、S1207で生成された走行経路に沿った走行制御を実行する。この走行制御も、図15のS1109における走行制御と同様に、上述したような画像データを用いた手法による現在位置の推定(詳細は後述する)を伴って実行される。
そして、車両制御装置410は、S1210において、乗車領域P2への停車制御を実行する。
そして、S1210における停車制御が完了すると、車両制御装置410は、S1211において、出庫完了の通知を管制装置101に送信する。
以上のようにして、自動バレー駐車における自動出庫が実現される。
図17は、第1実施形態において自動駐車および自動出庫が実行される場合に車両制御装置410が実行する走行制御に含まれる現在位置の推定処理の流れを示した例示的かつ模式的なフローチャートである。この図17に示される処理フローは、図15に示されるS1109や、図16に示されるS1209などにおける車両Vの自動走行中に繰り返し実行される。
図17に示される処理フローでは、まず、S1301において、車両制御装置410は、車載カメラ408から画像データ(サイド画像データ)を取得する。なお、図10に示される状況においては、車両制御装置410は、旋回の内側に対応したサイド画像データである内側画像データを取得する。
そして、S1302において、車両制御装置410は、S1301で取得された画像データから、所定の画像認識処理によって、画像データ上における路面標示に関する路面標示データを検出する。このS1302においては、たとえば、次の図18に示されるような処理フローに沿った処理が実行される。
図18は、第1実施形態において走行制御が実行される場合に車両制御装置410が実行する路面標示データの算出処理の流れを示した例示的かつ模式的なフローチャートである。以下では、一例として、区画線Lに関する路面標示データの算出処理の流れについて説明する。
図18に示される処理フローでは、まず、S1401において、車両制御装置410は、車載カメラ408から取得された画像データに対して歪み補正処理を実行する。
そして、S1402において、車両制御装置410は、S1401の歪み補正処理後の画像データに対して白色抽出処理を実行する。区画線LやマーカMなどの路面標示は、通常、白色で描かれるものであるので、このS1402の処理によれば、歪み補正処理後の画像データから、路面標示(区画線L)を含んだ白色の領域を抽出することができる。
そして、S1403において、車両制御装置410は、S1402で抽出された白色の領域に含まれうるかすれを改善するためのかすれ改善処理を実行する。
そして、S1404において、車両制御装置410は、S1403のかすれ改善処理後の画像データに対してハフ変換を実行し、当該画像データから、路面標示(区画線L)の候補としての直線状の領域を抽出する。
そして、S1405において、車両制御装置410は、S1404で抽出された路面標示(区画線L)の候補を所定の基準で選別する。
そして、S1406において、車両制御装置410は、S1405で選別された候補を含む画像データに射影変換を施し、車載カメラ408の撮像範囲を平面視で表した領域に対応した画像データを生成する。
そして、S1407において、車両制御装置410は、射影変換後の画像データに含まれる路面標示(区画線L)の候補を所定の基準でさらに選別する。
そして、S1408において、車両制御装置410は、S1407で抽出された候補の相対位置(相対方位を含みうる)などを路面標示データとして算出する。
以上のようなS1401〜S1408の処理が完了すると、図17のS1303に処理が進む。そして、S1303において、車両制御装置410は、次の図19に示される処理フローに沿って処理を実行することで、車両Vの現在位置を推定する。
図19は、第1実施形態において走行制御が実行される場合に車両制御装置410が実行する現在位置の推定処理の流れを示した例示的かつ模式的なフローチャートである。
図19に示される処理フローでは、まず、S1501において、車両制御装置410は、車両Vの現在位置に関する前回の推定値に、センサデータに基づく変化量、つまりオドメトリによって推定された車両Vの位置の変化量を加算することで、オドメトリに基づく車両Vの現在位置を算出する。
そして、S1502において、車両制御装置410は、図18に示される処理フローによって算出した路面標示データに基づく、S1501で算出した現在位置を基準とした路面標示の相対位置(相対方位を含みうる)を算出する。このS1502で算出された相対位置と、S1501の算出値と、を利用すれば、路面標示の計算上の絶対位置を特定することができる。
そして、S1503において、車両制御装置410は、通信制御部521により取得された地図データに基づく、路面標示の絶対位置(絶対方位を含みうる)を特定する。より具体的に、車両制御装置410は、地図データに含まれる全ての路面標示の絶対位置から、S1502の算出結果を利用して特定される路面標示の計算上の絶対位置に近いものを抽出することで、次のS1504の処理において計算上の絶対位置との差分をとる対象となる路面標示の正規の絶対位置を特定する。たとえば、路面標示データを算出するもととなった画像データが左サイド画像データである場合、車両制御装置410は、地図データに含まれる全ての路面標示の絶対位置から、オドメトリに基づく車両Vの現在位置の左側に該当するものを抽出することで、上記の計算上の絶対位置に近いものを抽出する。なお、路面標示が区画線である場合、当該区画線は、通常、約2.5mの間隔で設けられることが多い。この約2.5mという間隔は、オドメトリにおいて想定される誤差よりも大きいため、第1実施形態では、S1503の処理によって路面標示の正規の絶対位置が間違って特定されることは通常ほとんどない。
そして、S1504において、車両制御装置410は、S1502の算出結果に基づいて特定される路面標示の計算上の絶対位置と、S1503で特定される路面標示の正規の絶対位置と、の差分をとり、当該差分に基づき、S1501の算出値、つまりオドメトリに基づく車両Vの現在位置の算出値を補正する。
そして、S1505において、車両制御装置410は、S1504の補正後の値を、車両Vの正規の現在位置として推定する。第1実施形態では、このS1505の推定結果に基づいて、車両Vの自動走行時に必要となる各種のパラメータ(車速や舵角、進行方向など)の設定が行われる。
以上説明したように、第1実施形態にかかる車両制御装置410は、駐車場P内における自動走行を実現するように車両Vの走行状態を制御する走行制御部523を有している。また、車両制御装置410は、駐車場Pの路面に設置された路面標示の絶対方位を含む絶対位置を特定可能な駐車場データを取得する通信制御部521と、車載カメラ408によって得られる画像データを取得するセンサデータ取得部522と、自動走行の実施中に、画像データから路面標示に関する路面標示データを検出することで、画像データ上における車両Vに対する路面標示の相対方位を含む相対位置を算出し、算出した相対位置と、駐車場データと、に基づいて、車両Vの実方位を含む実位置を推定する位置推定部524と、を有している。
第1実施形態によれば、上記の構成に基づいて、画像データに基づいて算出される相対位置を利用して特定される計算上の路面標示の位置(および方位)と、駐車場データに基づいて特定される路面標示の正規の絶対位置(および絶対方位)と、のずれを考慮して、自動走行中における車両Vの現在位置(実方位を含む実位置)を正確に把握することができる。
なお、第1実施形態において、位置推定部524は、車両Vの左側方および右側方のうち一方の状況を表す画像データであるサイド画像データから路面標示データを検出することで、車両Vの左側方および右側方のうち一方に存在する路面標示の相対位置(相対方位を含む)を算出しうる。この構成によれば、路面標示が写り込みやすいサイド画像データを利用して、路面標示の相対位置(相対方位を含む)を容易に算出することができる。
また、第1実施形態において、通信制御部521は、駐車場データとして、駐車場P内に予め設けられた駐車領域Rの境界を示す路面標示である区画線Lの絶対位置を特定可能な区画線データを取得し、位置推定部524は、画像データ上における区画線Lの端部Eの位置と当該区画線Lの向きとを路面標示データとして検出することで、区画線Lの相対位置(相対方位を含む)を算出し、算出した相対位置と、区画線データと、に基づいて、車両Vの実位置(実方位を含む)を推定しうる。この構成によれば、駐車領域Rの境界を示す路面標示として一般的に設けられている区画線Lを利用して、車両Vの実位置を容易に推定することができる。
また、第1実施形態において、通信制御部521は、駐車場データとして、自動走行中の車両Vの走行経路の周辺に予め設けられた路面標示である、第1線分を含む第1マーカ(たとえば図9に示されるような線分LS91およびLS92を含むマーカM91およびM92)の絶対位置(絶対方位を含む)を特定可能なマーカデータを取得しうる。そして、位置推定部524は、画像データ上における第1マーカの位置と当該第1マーカに含まれる第1線分の向きとを路面標示データとして検出することで、車両Vに対する第1マーカの相対位置(相対方位を含む)を算出し、算出した相対位置と、第1マーカデータと、に基づいて、車両Vの実位置(実方位)を推定しうる。この構成によれば、第1マーカを利用して、車両Vの実位置を容易に推定することができる。
また、第1実施形態において、通信制御部521は、駐車場データとして、駐車場P内に予め設けられた区画線Lの絶対位置を特定可能な区画線データと、区画線Lの周辺の領域であって、自動走行中の車両Vの旋回経路の内側の領域に設けられる路面標示である、第2線分を含む第2マーカ(たとえば図10に示されるような線分LS101〜LS103を含むマーカM101〜M103)の絶対位置を特定可能なマーカデータと、を取得しうる。そして、位置推定部524は、車両Vの旋回時に、車両Vの旋回の内側の状況を表す画像データである内側画像データから区画線Lおよび第2マーカに関するデータを路面標示データとして検出することで、車両Vの旋回の内側に存在する区画線Lおよび第2マーカの相対位置を算出し、算出した相対位置と、区画線データおよび第2マーカデータと、に基づいて、車両Vの実位置を推定しうる。この構成によれば、区画線Lと第2マーカとを利用して、旋回時における車両の実位置を精度良く推定することができる。
また、第1実施形態において、通信制御部521は、複数の路面標示のそれぞれの絶対位置に関する情報を含む駐車場データを取得しうる。そして、位置推定部524は、自動走行の実施中に、画像データから複数の路面標示のうち少なくとも2つの路面標示に関する路面標示データを検出することで、画像データ上における車両Vに対する少なくとも2つの路面標示の相対位置のみ(相対方位を含まず)を算出し、算出した相対位置と、駐車場データと、に基づいて、車両Vの実方位を含む実位置を推定しうる。この構成によれば、画像データに基づいて算出される相対位置を利用して特定される少なくとも2つの路面標示の計算上の路面標示の位置(およびそれらの位置関係)と、駐車場データに基づいて特定される当該少なくとも2つの路面標示の(正規の)絶対位置(およびそれらの位置関係)と、のずれを考慮して、各路面標示の相対方位を考慮することなく、自動走行中における車両の現在位置(実方位を含む実位置)を正確に把握することができる。
なお、複数の路面標示の相対位置のみを算出する上記の構成において、位置推定部524は、左サイド画像データから少なくとも1つの第1路面標示の第1位置(たとえば図7に示される区画線L72の端部E72の位置)を路面標示データとして検出するとともに、右サイド画像データから少なくとも1つの第2路面標示の第2位置(たとえば図7に示される区画線L76の端部E76の位置)を路面標示データとして検出することで、第1路面標示および第2路面標示の相対位置を算出しうる。この構成によれば、異なる2種類の画像(左サイド画像データおよび右サイド画像データ)を利用して、少なくとも2つの路面標示の相対位置を精度良く算出することができる。
また、複数の路面標示の相対位置のみを算出する上記の構成において、位置推定部524は、1つのサイド画像データから少なくとも2つの路面標示のそれぞれの位置(たとえば図8に示される区画線L81およびL82の端部E81およびE82の位置)を路面標示データとして検出することで、車両Vの左側方および右側方のうち一方に存在する少なくとも2つの路面標示の相対位置を算出する。この構成によれば、1種類の画像(サイド画像データ)のみを利用して、少なくとも2つの路面標示の相対位置を容易に算出することができる。
なお、上述した第1実施形態では、本発明の技術が自動バレー駐車システムに適用される場合を例示した。しかしながら、本発明の技術は、駐車場内に適切な路面標示が設置され、当該路面標示の絶対位置に関するデータを取得可能な駐車システムであれば、自動バレー駐車システム以外の駐車システムにも適用可能である。
また、上述した第1実施形態では、駐車場データ取得部としてのセンサデータ取得部と、画像データ取得部としてのセンサデータ取得部と、位置推定部と、に加えて、走行制御部を備えた車両制御装置が車両位置推定装置として設けられた構成を例示した。しかしながら、実施形態では、少なくとも上記のような駐車場データ取得部と画像データ取得部と位置推定部とを備えた装置であれば、走行制御部を備えていない、車両制御装置とは別の装置が、車両位置推定装置として設けられてもよい。
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、第1実施形態に適用可能である。第2実施形態では、第1実施形態と異なる点について重点的に説明する。第1実施形態と同じ構成については、説明が省略されるか、または簡略的に説明される。
同じ種類のマーカMが駐車場Pの路面に等間隔に設置され、画像データに映っているマーカMのみに基づいて現在位置の補正が実施される場合を考える。その場合において、オドメトリによる累積誤差がマーカMの間隔より大きくなると、路面に設置されたマーカMのうちの、画像データに映っているマーカMと異なるマーカMが、画像データに映っているマーカMとして誤認される虞がある。
画像データに映っているマーカMの特定を誤った場合、当該マーカMの計算上の絶対位置が、誤ったマーカMの正規の絶対位置と一致するように車両Vの位置および向きの推定結果が補正される。その場合、正しい位置を推定することができない。
第2実施形態では、誤ったマーカMが画像データに映っているマーカMとして認識される可能性を低減するために、マーカMの設置方法と現在位置の推定方法とが、以下に説明されるように構成される。
すなわち、駐車場Pの路面には、複数の種類のマーカを含む複数のマーカが設置される。そして、車両制御装置410では、位置推定部524は、複数のマーカが画像データから検出された場合に、画像データから検出された複数のマーカ、すなわち画像データに映っている複数のマーカ、の種類の組み合わせに基づいて、路面に設置された複数のマーカのうちから、画像データから検出されたマーカの群を特定する。
ここでは一例として、複数の種類のマーカは、図9のマーカM91およびM92のように、絶対方位が異なる2種類のマーカであることとする。なお、複数の種類のマーカはこれに限定されない。例えば、「○」および「×」など、形状が異なる複数のマーカが、複数の種類のマーカとして使用され得る。また、種類の数は、2つに限定されない。3以上の種類のマーカが使用され得る。
複数のマーカMは、1または複数の車載カメラ408の撮像範囲に、2つの異なる種類のマーカを含む少なくとも2つのマーカが含まれうるように、駐車場Pの路面に設置される。
図20は、第2実施形態にかかるマーカの設置例と車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の一例とを説明するための例示的かつ模式的な図である。
図20の例では、W軸方向に延びる4本の区画線L201〜L204がV軸方向に等間隔に設置され、これによってV軸方向に並ぶ3つの駐車領域R201〜203が構成されている。なお、W軸およびV軸は、駐車場Pに対して固定された座標軸である。W軸とV軸とは、互いに直交する。W軸およびV軸は、絶対位置および絶対方位の基準となる座標軸として使用されうる。なお、駐車場Pに対して固定されている限り、任意の基準が絶対位置および絶対方位の基準として使用されうる。
さらに、駐車場Pの路面には、駐車領域R201に対応するマーカM201と、駐車領域R202に対応するマーカM202と、駐車領域R203に対応するマーカM203とが、それぞれ設置されている。マーカM201〜M203のそれぞれは、対応する駐車領域RからW軸の正側にわずかに離間した位置に設置されている。これによって、マーカM201、M202、およびM203は、V軸の正向きにこの順番で等間隔に並ぶように構成されている。
そして、隣接する2つのマーカの種類が互いに異なるように、マーカM201、M202、およびM203の種類が選択されている。具体的には、マーカM201およびM203は、線分LS(線分LS201およびLS203)がW軸方向に延びているマーカであり、マーカM202は、線分LS(線分LS202)がV軸方向に延びているマーカである。
以降、マーカM201およびM203のように、線分LSが延びる絶対方位がW軸方向であるマーカの種類を、便宜的に、横マーカと表記する。また、マーカM202のように、線分LSが延びる絶対方位がV軸方向であるマーカの種類を、便宜的に、縦マーカと表記する。
図20の例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、2つのマーカM(マーカM202およびM203)を含む領域A201に対応している。車両Vの左側部に設けられる車載カメラ408によって得られるサイド画像データに対して白線検出処理などの画像認識処理を実施すれば、領域A201に含まれる2つのマーカMのそれぞれの位置(たとえば中心位置)と、当該2つのマーカMの線分LSのそれぞれの向きと、に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、当該2つのマーカMの相対位置(各マーカMの中心の相対位置)と、当該2つのマーカMの方位(各マーカMの線分LSの向きを表す相対方位)と、を算出することができる。そして、算出した相対位置および相対方位と、オドメトリに基づく車両Vの位置および方位の推定結果と、を利用すれば、当該2つのマーカMの計算上の絶対位置および絶対方位(つまり種類)を特定することができる。
この例では、V軸の正向きに縦マーカと横マーカとがこの順番で並んでいることを特定することができる。管制装置101から地図データとして取得されたマーカデータから、V軸の正向きに縦マーカと横マーカとがこの順番で並んでいる2つのマーカMからなる群を探索すれば、画像データから検出された2つのマーカMが、マーカM201〜M203のうちのマーカM202およびマーカM203であることを特定することができる。マーカM201〜M203のうち、V軸の正向きに縦マーカと横マーカとがこの順番で並んでいる組み合わせは、マーカM202およびマーカM203の組み合わせしかないからである。
画像データに映っている2つのマーカMがマーカM202およびマーカM203であることが特定された後、マーカM202およびマーカM203を照合の対象として使用することによって車両Vの実位置(実方位を含む)を推定することができる。マーカM202およびマーカM203として特定された2つのマーカMを照合の対象として使用して車両Vの実位置(実方位を含む)を推定する方法としては、図7を用いて説明された、2つのポイントの照合に基づく推定方法が使用可能である。
具体的には、マーカM202およびマーカM203として特定された2つのマーカMの正規の絶対位置が、マーカデータから特定される。そして、上記の相対位置に基づいて特定される2つのマーカM(即ちマーカM202およびマーカM203)の計算上の絶対位置と、マーカデータに基づいて特定されるマーカM202およびマーカM203の正規の絶対位置と、の差分をとり、当該差分に基づいて、オドメトリによる推定結果のずれを補正し、補正後の値を、車両Vの実位置(実方位を含む)として推定することができる。
図21は、第2実施形態にかかるマーカの別の設置例と車両制御装置410の位置推定部524により実施されうる現在位置の推定方法の別の一例とを説明するための例示的かつ模式的な図である。
図21の例では、W軸方向に延びる7本の区画線L211〜L217がV軸方向に等間隔に設置され、これによってV軸方向に並ぶ6つの駐車領域R211〜216が構成されている。
そして、駐車領域R211に対応するマーカM211と、駐車領域R212に対応するマーカM212と、駐車領域R213に対応するマーカM213と、駐車領域R214に対応するマーカM214と、駐車領域R215に対応するマーカM215と、駐車領域R216に対応するマーカM216とが、駐車場Pの路面に設置されている。マーカM211〜M216のそれぞれは、対応する駐車領域RからW軸の正側にわずかに離間した位置に設置されている。これによって、マーカM211、M212、M213、M214、M215、およびM216は、V軸方向にこの順番で等間隔に並ぶように構成されている。
ここで、マーカM211およびM214は、縦マーカであり、マーカM212、M213、M215、およびM216は、横マーカである。つまり、縦マーカ、横マーカ、横マーカ、縦マーカ、横マーカ、および横マーカが、V軸の正向きに、この順番で設置されている。
そして、図21の例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、マーカM212、M213、およびM214を含む領域A211に対応している。車両Vの左側部に設けられる車載カメラ408によって得られるサイド画像データに対して白線検出処理などの画像認識処理を実施すれば、撮像範囲に含まれる3つのマーカMのそれぞれの位置(たとえば中心位置)と、当該3つのマーカMの線分LSのそれぞれの向きと、に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、当該3つのマーカMの相対位置(各マーカMの中心の相対位置)と、当該3つのマーカMの方位(各マーカMの線分LSの向きを表す相対方位)と、を算出することができる。そして、算出した相対位置および相対方位と、オドメトリに基づく車両Vの位置および方位の推定結果と、を利用すれば、当該3つのマーカMの計算上の絶対位置および絶対方位(つまり種類)を特定することができる。
この例では、V軸の正向きに横マーカと横マーカと縦マーカとがこの順番で並んでいることを特定することができる。管制装置101から地図データとして取得されたマーカデータから、V軸の正向きに横マーカと横マーカと縦マーカとがこの順番で並んでいる組み合わせを探索すれば、画像データに映っている3つのマーカMが、マーカM211〜M216のうちのマーカM212、マーカM213およびマーカM214であることを特定することができる。マーカM211〜M216のうち、V軸の正向きに3つのマーカが上記の順番で並んでいる組み合わせは、マーカM212、マーカM213およびマーカM214の組み合わせしかないからである。
画像データから検出された3つのマーカMが特定された後、マーカM212、M213およびM214として特定された3つのマーカMの正規の絶対位置を、マーカデータから特定することができる。そして、上記の相対位置に基づいて特定される3つのマーカM(即ちマーカM212、M213およびM214)の計算上の絶対位置と、マーカデータに基づいて特定されるマーカM212、M213およびM214の正規の絶対位置と、の差分をとり、当該差分に基づいて、オドメトリによる推定結果のずれを補正し、補正後の値を、車両Vの実位置(実方位を含む)として推定することができる。
このように、第2実施形態にかかる現在位置の推定方法は、第1実施形態で説明した一連の処理に、位置関係および各マーカMの種類の点で画像データに映っている複数のマーカMとマッチ(一致)するマーカMの群を路面に配置された複数のマーカMから探索するマッチング処理が追加された構成を有する。これによって、オドメトリによる累積誤差がマーカMの間隔より大きくなるような場合においても、画像データに映っているマーカMと異なるマーカMが画像データに映っているマーカMとして誤って認識される可能性を低減することができる。
なお、画像データから検出したマーカMの種類の組み合わせと同じ組み合わせが複数、存在する場合がある。例えば図22に示される状況においては、車載カメラ408によって撮像された画像データから、V軸の正向きに縦マーカと横マーカと横マーカとがこの順番で並んでいる3つのマーカMが検出される。ところが、マーカM211〜マーカM216のうち、マーカM211、M212およびM213の群と、マーカM214、M215およびM216の群と、の2つが、画像データから検出された2つのマーカMの組み合わせと、位置関係および各マーカMの種類の点で一致する。
そのような場合、位置推定部524は、マーカM211、M212およびM213の群と、マーカM214、M215およびM216の群と、の2つを、候補と見なす。そして、位置推定部524は、画像データに映っている3つのマーカMの群の計算上の絶対位置と、マーカデータに基づいて特定される各候補の正規の絶対位置と、の差分を演算する。位置推定部524は、2つの候補のうちの演算によって得られた差分が小さい候補を、画像データに映っているマーカMの群として特定する。つまり、画像データに映っているマーカMの群に位置的に最も近い候補を、画像データに映っているマーカMの群として特定する。
図22の例では、マーカM214、M215およびM216の群のほうが、マーカM211、M212およびM213の群よりも、画像データから検出されたマーカMの群に近い。よって、位置推定部524は、画像データから検出された3つのマーカMは、マーカM214、M215およびM216であることを特定することができる。
図23は、第2実施形態にかかるマーカのさらに別の設置例と車両制御装置410の位置推定部524により実施されうる現在位置の推定方法のさらに別の一例とを説明するための例示的かつ模式的な図である。
図23の例では、W軸方向に延びる2本の区画線L231およびL232がV軸方向に離間して設置されている。これによって、区画線L231およびL232で区画された1つの駐車領域R231が構成されている。さらに、区画線L231およびL232の対からW軸の正向きに離間した位置に、区画線L233およびL234の対が設置されている。区画線L233およびL234によって、駐車領域R231と対向する別の駐車領域R232が構成されている。
さらに、駐車領域R231に対応するマーカM231と、駐車領域R232に対応するマーカM232と、が駐車場Pの路面に設置されている。マーカM231は、対応する駐車領域R231からW軸の正側にわずかに離間した位置に設置されている。そして、マーカM232は、対応する駐車領域R232からW軸の負側にわずかに離間した位置に設置されている。これによって、マーカM231とマーカM232とは、互いに対向するように構成されている。
そして、互いに対向するマーカM231およびM232の種類が互いに異なるように、マーカM231およびM232の種類が選択されている。具体的には、この例では、マーカM231は、横マーカであり、マーカM232は、縦マーカである。
ここで、図23に示される例では、車両Vの左側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、マーカM231を含む領域A231に対応している。そして、車両Vの右側部(たとえばサイドミラー)に設けられる車載カメラ408の撮像範囲が、マーカM232を含む領域A232に対応している。
したがって、図23に示される例では、上記の2つの車載カメラ408によって得られる2つのサイド画像データに対して白線検出処理などの画像認識処理を行えば、2つのサイド画像データに映っている2つのマーカのそれぞれの位置(たとえば中心位置)と、当該2つのマーカMの線分LSのそれぞれの向きと、に関する路面標示データを検出することができる。そして、検出した路面標示データを利用すれば、車両Vを基準とした、当該2つのマーカMの相対位置(各マーカMの中心の相対位置)と、当該2つのマーカMの方位(各マーカMの線分LSの向きを表す相対方位)と、を算出することができる。そして、算出した相対位置および相対方位と、オドメトリに基づく車両Vの位置および方位の推定結果と、を利用すれば、当該2つのマーカMの計算上の絶対位置および絶対方位(つまり種類)を特定することができる。
この例では、W軸の正向きに横マーカと縦マーカとがこの順番で並んでいることを特定することができる。その後、管制装置101から地図データとして取得されたマーカデータから、2つのサイド画像データに映っている2つのマーカMと位置関係および各マーカMの種類の点で一致する群を探索すれば、駐車場Pの路面に設置された全てのマーカMのうちから2つのサイド画像データに映っている2つのマーカMを特定することができる。
このように、複数のマーカMの一部と、当該複数のマーカMの他の一部と、がそれぞれ異なる車載カメラ408によって撮像された画像データに映っている場合であっても、マッチング処理によって、当該複数のマーカMを特定することが可能である。なお、第1実施形態と同様、各画像データとしては、車両Vの側部に設けられる車載カメラ408によって得られるサイド画像データのみならず、車両Vの前部(たとえばフロントバンパ)に設けられる車載カメラ408によって得られるフロント画像データや、後部(たとえばリヤバンパ)に設けられる車載カメラ408によって得られるリヤ画像データなどが用いられてもよい。
次に、第2実施形態にかかる自動バレー駐車システムで実行される処理について説明する。
図24は、第2実施形態において自動駐車および自動出庫が実行される場合に車両制御装置410が実行する走行制御に含まれる現在位置の推定処理の流れを示した例示的かつ模式的なフローチャートである。この図24に示される処理フローは、図15に示されるS1109や、図16に示されるS1209などにおける車両Vの自動走行中に繰り返し実行される。
図24に示される処理フローでは、まず、S2401において、車両制御装置410(センサデータ取得部522)は、左側部(たとえばサイドミラー)に設けられる車載カメラ408から画像データ(左サイド画像データ)を取得する。
そして、S2402において、車両制御装置410(位置推定部524)は、所定の画像認識処理によって、左サイド画像データ上におけるマーカMに関する路面標示データを検出する。このS2402においては、例えば、図18に示されるような処理フローに沿った処理が実行される。これによって、左サイド画像データに映っているマーカMの相対位置(相対方位を含みうる)などを路面標示データとして算出する。
続いて、S2403において、車両制御装置410(位置推定部524)は、車両Vの現在位置に関する前回の推定値に、センサデータに基づく変化量、つまりオドメトリによって推定された車両Vの位置の変化量を加算することで、オドメトリに基づく車両Vの現在位置を算出する。この処理は、例えば第1実施形態のS1501と同じ処理である。
続いて、S2404において、車両制御装置410(位置推定部524)は、S2402によって算出した路面標示データに基づく、S2403で算出した現在位置を基準としたマーカMの相対位置(相対方位を含みうる)を算出する。
そして、S2405において、車両制御装置410(位置推定部524)は、S2403で算出されたオドメトリに基づく車両Vの現在位置と、S2404で算出された相対位置と、に基づいて、マーカMの計算上の絶対位置(絶対方位を含む)を特定する。
なお、左サイド画像データに複数のマーカMが映っている場合には、S2402〜S2405の処理は、左サイド画像データに映っているマーカM毎に実行される。
続いて、S2406において、車両制御装置410(位置推定部524)は、左サイド画像データに映っている各マーカMの種類を特定する。例えば、車両制御装置410は、S2405で算出された各マーカMの計算上の絶対方位に基づいて、各マーカMが横マーカであるか縦マーカであるかを識別する。
なお、各マーカMの種類の特定方法はこれに限定されない。車両制御装置410(位置推定部524)は、パターンマッチングなどの画像認識処理によって各マーカMの種類を特定してもよい。
続いて、S2407において、車両制御装置410(位置推定部524)は、2以上の種類のマーカMが検出されたか否かを判定する。検出されたマーカMの数が1以下であるか、または縦マーカおよび横マーカの一方しか検出されなかった場合(S2407、No)、以降の処理によって、他の車載カメラ408からの画像データからのマーカMの検出処理が実行される。
つまり、2以上の種類のマーカMが検出されなかった場合には、左サイド画像データだけでなく他の画像データからのマーカMの検出が実行されることで、可能な限り2以上の種類のマーカMを検出する。2以上の種類のマーカMが検出できれば、検出されたマーカMの群と位置関係および各マーカMの種類の点から一致する群を絞り込むことができるので、マッチング処理の精度の向上が期待できる。
ここでは、他の車載カメラ408の一例として、右側部(たとえばサイドミラー)に設けられる車載カメラ408が使用される。すなわち、検出されたマーカMの数が1以下であるか、または縦マーカおよび横マーカの一方しか検出されなかった場合(S2407、No)、S2408において、車両制御装置410(センサデータ取得部522)は、右側部(たとえばサイドミラー)に設けられる車載カメラ408から画像データ(右サイド画像データ)を取得する。
そして、S2408において、車両制御装置410(位置推定部524)は、所定の画像認識処理によって、右サイド画像データ上におけるマーカMに関する路面標示データを検出する。このS2408においては、例えば、図18に示されるような処理フローに沿った処理が実行される。これによって、右サイド画像データに映っているマーカMの相対位置(相対方位を含みうる)などを路面標示データとして算出する。
続いて、S2409において、車両制御装置410(位置推定部524)は、S2408によって算出した路面標示データに基づく、S2403で算出した現在位置を基準としたマーカMの相対位置(相対方位を含みうる)を算出する。
そして、S2410〜S2412において、右サイド画像データから検出された路面標示データに対して、S2404〜S2406と同様の処理が実行される。これによって、
右サイド画像データに映っている各マーカMの計算上の絶対位置(絶対方位を含む)と種類とが特定される。
2以上の種類のマーカMが検出されたと判定された場合(S2407、Yes)、S2408〜S2412がスキップされる。つまり、2以上の種類のマーカMが検出された場合には、右サイド画像データを取得してマーカMを検出する処理が省略される。
2以上の種類のマーカMが検出されたと判定された場合(S2407、Yes)、またはS2412の後、S2413において、車両制御装置410(位置推定部524)は、マッチング処理によって、画像データから検出されたマーカMの群を特定する。
続いて、S2414において、車両制御装置410(位置推定部524)は、特定されたマーカMの群の絶対位置を地図データに基づいて特定する。
そして、S2415において、車両制御装置410(位置推定部524)は、S2405(またはS2405およびS2411)によって特定されるマーカMの計算上の絶対位置と、S2414で特定されるマーカMの正規の絶対位置と、の差分をとり、当該差分に基づき、S2403の算出値、つまりオドメトリに基づく車両Vの現在位置の算出値を補正する。
そして、S2416において、車両制御装置410(位置推定部524)は、S2415の補正後の値を、車両Vの正規の現在位置として推定する。第2実施形態では、このS2415の推定結果に基づいて、車両Vの自動走行時に必要となる各種のパラメータ(車速や舵角、進行方向など)の設定が行われる。
以上述べたように、第2実施形態にかかる車両制御装置410は、駐車場P内における自動走行を実現するように車両Vの走行状態を制御する走行制御部523を有している。また、車両制御装置410は、駐車場Pの路面に設置された複数の種類のマーカを含む複数のマーカのそれぞれの絶対位置を特定可能な駐車場データを取得する通信制御部521と、車載カメラ408によって得られる画像データを取得するセンサデータ取得部522と、自動走行の実施中に、画像データから少なくとも2つのマーカMに関する路面標示データを検出することで、画像データ上における車両Vに対する少なくとも2つのマーカMの相対方位を含む相対位置を算出し、算出した相対位置と、駐車場データと、に基づいて、車両Vの実方位を含む実位置を推定する位置推定部524と、を有している。
第2実施形態によれば、上記の構成に基づいて、画像データに基づいて算出される相対位置を利用して特定される2つのマーカMの計算上の位置と、駐車場データに基づいて特定される2つのマーカMの正規の絶対位置と、のずれを考慮して、自動走行中における車両Vの現在位置(実方位を含む実位置)を正確に把握することができる。
また、第2実施形態によれば、位置推定部524は、画像データから検出された少なくとも2つのマーカMの種類の組み合わせに基づいて、駐車場Pの路面に設置された複数のマーカMのうちの画像データから検出された少なくとも2つのマーカMを特定する。
この構成によれば、駐車場Pの路面に設置されたマーカMのうちの画像データに映っているマーカMと異なるマーカMを画像データから検出されたマーカMとして誤認する可能性を低減することができる。
また、第2実施形態によれば、センサデータ取得部522は、できるだけ種類が互いに異なる2つのマーカMが映っている画像データを取得するよう、構成されている。
種類が互いに異なる2つのマーカMが画像データから検出できれば、検出されたマーカMの群と位置関係および各マーカMの種類の点で一致する群を絞り込むことができるので、マーカMの特定精度が向上する。
また、第2実施形態によれば、位置推定部524は、車両Vの左側方の状況を表す左サイド画像データから、車両Vの左側方に存在するマーカMの位置を路面標示データとして検出するとともに、車両Vの右側方の状況を表す右サイド画像データから、車両Vの右側方に存在し車両Vの左側方に存在するマーカMと種類が異なるマーカの位置を路面標示データとして検出することで、当該2つのマーカMの相対位置を算出する。
各車載カメラ408の画角が狭く、各車載カメラ408の撮像範囲に1つしかマーカMが含まれないような状況においても、上記の構成によって、左右2つの車載カメラ408からそれぞれ種類が異なるマーカMを検出することが可能となる。
また、第2実施形態によれば、駐車場Pには、複数の種類のマーカMを含む複数のマーカMが路面の少なくとも一方向に等間隔に設置されている。この構成により、車載カメラ408によって撮像された画像データを用いた位置推定制御において、当該複数のマーカMのうちの少なくとも2つのマーカMを含む群が画像データから検出された場合、駐車場Pの路面に設置された複数のマーカMのうちから、当該群を、当該群を構成するマーカMの種類の組み合わせに基づいて特定することが可能である。つまり、画像データに映っているマーカMと異なるマーカMが、画像データに映っているマーカMとして誤認される可能性を低減することが可能となる。
また、第2実施形態によれば、駐車場Pは複数の駐車領域Rを備え、複数のマーカMは、複数の駐車領域Rのそれぞれと1対1に対応した位置に設置されている。この構成により、駐車場Pを走行中の車両Vにおいて、車載カメラ408にマーカMが映り込みやすくなる。
また、第2実施形態によれば、隣接する2つの駐車領域Rに対応した2つのマーカMは、互いに種類が異なっている。互いに種類が異なる2つのマーカMが画像データから検出できれば、画像データに映っているマーカMの候補を絞り込めるので、画像データに映っているマーカMと異なるマーカMが、画像データに映っているマーカMとして誤認される可能性をさらに低減することが可能となる。
また、第2実施形態によれば、駐車場Pは、互いに対向する2つの駐車領域Rを含み、当該互いに対向する2つの駐車領域Rに対応した2つのマーカMは、互いに種類が異なっている。この構成により、例えば車両Vの側部に設けられた1対の車載カメラ408のうちの一によって1つのマーカMしか検出できない場合であっても、当該1対の車載カメラ408の他によって当該マーカMと種類が異なる別のマーカMを検出することが可能となる。互いに種類が異なる2つのマーカMが画像データから検出できれば、画像データに映っているマーカMの候補を絞り込めるので、画像データに映っているマーカMと異なるマーカMが、画像データに映っているマーカMとして誤認される可能性をさらに低減することが可能となる。
<変形例>
マッチング処理では、画像データに映っているマーカMの群を特定するだけでなく、車両Vの現在位置の補正量を取得しうる。
例えば、車両制御装置410(位置推定部524)は、画像データから検出されたマーカMの群に対し、計算上の絶対位置に基づくマーカM間の位置関係を保ったまま移動および回転を含む操作を実行することで、当該群に含まれる各マーカMを、地図データに基づいて特定される各マーカMの正規の絶対位置に合わせる。そして、車両制御装置410(位置推定部524)は、操作の前後の差分を、補正量とする。車両制御装置410(位置推定部524)は、得られた補正量を、オドメトリに基づく車両Vの現在位置の算出値に適用することによって、現在位置の算出値を補正することができる。
なお、画像データから検出された、計算上の絶対位置に基づくマーカM間の位置関係は、多少の誤差を含み得る。したがって、画像データから検出された全てのマーカMを、地図データに基づいて特定される正規の絶対位置に合わせることが困難である場合がある。
そのような場合には、車両制御装置410(位置推定部524)は、各マーカMの正規の絶対位置までの誤差に基づいて、群の操作の完了を判断することができる。
図25は、画像データから検出されたマーカMの群に対して位置推定部524によって実行されうる、第2実施形態の変形例にかかる操作の一例を説明するための例示的かつ模式的な図である。
図25の(A)は、2つのマーカMの地図データに基づいて特定される正規の絶対位置を示している。この例では、縦マーカであるマーカM251と横マーカであるマーカM252とがV軸の正向きにこの順番で並んでいる。そして、マーカM251のW軸成分とマーカM252のW軸成分は等しい。
図25の(B)は、マーカM251およびマーカM252が撮像された場合に、画像データから検出されたマーカM251およびマーカM252間の、計算上の絶対位置に基づく位置関係を示している。なお、マーカM251′は、画像データから検出されたマーカM251に該当し、マーカM252′は、画像データから検出されたマーカM252に該当する。この例では、マーカM251′とマーカM252′とがV軸の正向きにこの順番で並んでいる。そして、マーカM251′と比較すると、マーカM252′は、W軸の正側に若干ずれた位置にある。
位置推定部524は、マーカM251′とマーカM252′との位置関係を保ったまま、マーカM251′およびマーカM252′を含む群に対し、移動および回転を含む操作を実施する。
ここで、位置推定部524が、操作によって、例えばマーカM251′のみをマーカM251の絶対位置に合わせると、図25の(C)に示されるように、マーカM251にかかる誤差はゼロになるものの、マーカM252にかかる誤差が大きくなる。この状況において操作完了と判断した場合、正しい位置を推定できない可能性がある。
そこで、位置推定部524は、マーカM251にかかる誤差と、マーカM252にかかる誤差と、の両方を考慮して操作完了を判断する。マーカM251にかかる誤差と、マーカM252にかかる誤差と、の両方を用いた操作完了の判断方法としては、種々の方法が採用され得る。
一例では、位置推定部524は、各誤差の二乗和が最小となる位置を、マーカM251′およびマーカM252′を含む群の操作の終点とすることができる。これによって、図25の(D)に示されるように、位置推定部524は、マーカM251にかかる誤差と、マーカM252にかかる誤差と、のばらつきが小さくなり、かつ両誤差の和が最小となる位置に、群を移動させることが可能となる。
これによって、位置推定部524は、例えば、マーカM251にかかる誤差とマーカM252にかかる誤差との合計の最小値が10cmである場合において、マーカM251にかかる誤差が0cmとなり、マーカM252にかかる誤差が10cmとなるような位置まで群を移動・回転させたときに操作が完了したと判断するのではなく、マーカM251にかかる誤差およびマーカM252にかかる誤差がともに5cmとなるような位置まで群を移動・回転させたときに操作が完了したと判断することができる。
図26は、画像データから検出されたマーカMの群に対して位置推定部524によって実行されうる、第2実施形態の変形例にかかる操作の別の一例を説明するための例示的かつ模式的な図である。
図26の(A)は、3つのマーカMの地図データに基づいて特定される正規の絶対位置を示している。この例では、縦マーカであるM261と横マーカであるマーカM262と横マーカであるマーカM263とがV軸の正向きにこの順番で並んでいる。そして、マーカM261のW軸成分とマーカM262のW軸成分とマーカM263のW軸成分とは互いに等しい。
図26の(B)は、マーカM261、マーカM262およびマーカM263が撮像された場合に、画像データから検出されたマーカM261、マーカM262およびマーカM263間の、計算上の絶対位置に基づく位置関係を示している。なお、マーカM261′は、画像データから検出されたマーカM261に該当し、マーカM262′は、画像データから検出されたマーカM262に該当し、マーカM263′は、画像データから検出されたマーカM263に該当する。この例では、マーカM261′とマーカM262′とマーカM263′とがV軸の正向きにこの順番で並んでいる。そして、マーカM261′と比較すると、マーカM262′およびマーカM263′は、W軸の正側に若干ずれた位置にある。
位置推定部524は、マーカM261′、マーカM262′、およびマーカM263′の間の位置関係を保ったまま、マーカM261′、マーカM262′、およびマーカM263′を含む群に対し、移動および回転を含む操作を実施する。
ここで、位置推定部524が、操作によって、例えばマーカM261′のみをマーカM261の絶対位置に合わせると、図26の(C)に示されるように、マーカM261にかかる誤差はゼロになるものの、マーカM262にかかる誤差およびマーカM263にかかる誤差が大きくなる。この状況において操作完了と判断した場合、正しい位置を推定できない可能性がある。
そこで、位置推定部524は、マーカM261にかかる誤差、マーカM262にかかる誤差、およびマーカM263にかかる誤差の全てを考慮して操作完了を判断する。
例えば、位置推定部524は、各誤差の二乗和が最小となる位置を、マーカM261′、マーカM262′およびマーカM263′を含む群の操作の終点とすることができる。これによって、図26の(D)に示されるように、位置推定部524は、マーカM261にかかる誤差と、マーカM262にかかる誤差と、マーカM263にかかる誤差と、のばらつきができるだけ小さくなり、かつ誤差の合計が最小となる位置に、群を移動させることが可能となる。
これによって、位置推定部524は、例えば、マーカM261にかかる誤差が0cmとなり、マーカM262にかかる誤差が10cmとなり、マーカM263にかかる誤差が10cmとなるような位置まで群を移動・回転させたときに操作が完了したと判断するのではなく、マーカM261、マーカM262、およびマーカM263にかかる誤差が3cmとなるような位置まで群を移動・回転させたときに操作が完了したと判断することができる。
なお、位置推定部524は、3以上のマーカMが画像データから検出された場合に、必ずしも画像データから検出されたすべてのマーカMにかかる誤差を考慮しなくてもよい。位置推定部524は、画像データから検出された3以上のマーカMのうちの一部の複数のマーカMにかかる誤差を考慮するよう、構成されうる。
例えば、位置推定部524は、マーカM261〜M263のうちの両端に位置するマーカM、つまりマーカM261およびM263にかかる誤差を考慮して、マーカM262にかかる誤差を考慮しなくてもよい。
なお、以上の説明では、位置推定部524は、各誤差の二乗和が最小となる位置を、群の操作の終点とした。群の操作の終点の判断方法がこれに限定されない。群に含まれる複数のマーカMにかかる誤差のばらつきをできるだけ小さくでき、かつ当該複数のマーカMにかかる誤差の合計をできるだけ小さくできる限り、位置推定部524は、任意の方法で群の操作の終点を判断することができる。
このように、位置推定部524は、画像データから第1マーカMの計算上の絶対位置である第1位置と第2マーカMの計算上の絶対位置である第2位置とを検出し、第1マーカMと第2マーカMとを含む群を第1位置と第2位置との位置関係を保ったまま移動または回転し、移動または回転された後の第1位置と地図データに基づいて特定される第1マーカMの正規の絶対位置である第3位置との差分と、移動または回転された後の第2位置と地図データに基づいて特定される第2マーカの正規の絶対位置である第4位置との差分と、の両方を考慮して車両Vの前記実位置を推定する。
この構成により、位置推定部524は、画像データから検出された1つのマーカMにかかる誤差のみに基づいてマッチング処理を実行する場合に比べて、より尤もらしい位置に車両Vの推定位置を補正することが可能となる。
以上、本発明の実施形態を説明したが、上述した実施形態はあくまで一例であって、発明の範囲を限定することは意図していない。上述した新規な実施形態は、様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上述した実施形態およびその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。