<実施形態>
以下、本開示の実施形態を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用および結果(効果)は、あくまで一例であって、以下の記載内容に限られるものではない。
まず、図1および図2を参照して、実施形態にかかる自動バレー駐車システムの概略について説明する。ここで、自動バレー駐車システムとは、白線などといった区画線Lで区画された1以上の駐車領域Rを有する駐車場Pにおいて、以下に説明するような自動駐車および自動出庫を含む自動運転の一例としての自動バレー駐車を実現するための自動運転制御システムである。
図1は、実施形態にかかる自動バレー駐車システムにおける自動駐車の概念を説明するための例示的かつ模式的な図であり、図2は、実施形態にかかる自動バレー駐車システムにおける自動出庫の概念を説明するための例示的かつ模式的な図である。
図1に示されるように、自動駐車とは、駐車場P内の降車領域P1において車両Vから乗員Xが降車した後、当該降車領域P1に停車した車両Vが所定の指示に応じて降車領域P1から空きの駐車領域Rへ自動で移動して駐車する自動運転のことである(矢印C1参照)。
また、図2に示されるように、自動出庫とは、自動駐車が完了した後、駐車領域Rに停車した車両Vが所定の呼び出しに応じて出庫して駐車領域Rから所定の第2領域としての乗車領域P2へ自動で移動して停車する自動運転のことである(矢印C2参照)。
なお、実施形態において、自動駐車の際に実行される所定の指示と、自動出庫の際に実行される所定の呼び出しとは、いずれも、たとえば乗員Xによる端末装置Tの操作によって実現される。また、実施形態において、降車領域P1は、乗車領域として利用することもでき、乗車領域P2は、降車領域として利用することもできる。降車領域P1および乗車領域P2は、たとえば駐車場Pの出入口800の近傍に設けられる。
ここで、図1および図2に示されるように、実施形態にかかる自動バレー駐車システムは、駐車場Pに設けられた管制装置101と、車両Vに搭載された車両制御システム102と、を有している。管制装置101と車両制御システム102とは、無線通信によって互いに通信可能に構成されている。
管制装置101は、駐車場P内における車両Vの自動運転の管制を行う機能を有している。より具体的に、管制装置101は、駐車場Pの地図データを管理し、当該地図データを車両V(車両制御システム102)に提供する機能を有している。地図データとは、駐車場Pの構造に関するデータであり、区画線Lやマーカ(不図示)などといった、駐車場Pの路面に固定的に設置された路面標示に関する正規の標示データを含んだデータである。区画線Lに関する正規の標示データからは、区画線Lの先端の位置(絶対位置)や区画線Lが延びる方向(絶対方位)などを特定することができ、マーカに関する正規の標示データからは、マーカの設置位置やマーカが有する模様などを特定することができる。
また、管制装置101は、駐車場P内の状況を撮像する1以上の監視カメラ103から得られる画像データを含む、駐車場P内に設けられる各種の場内センサ(不図示)から出力されるデータを取得し、取得したデータに基づいて駐車場P内の状況を監視し、監視結果に基づいて、駐車領域Rの空きの管理などを含む、駐車場Pの管理を行うように構成されている。以下では、駐車場P内の状況を監視するために管制装置101が受け取る情報を総称してセンサデータと記載することがある。
なお、実施形態において、駐車場Pにおける降車領域P1、乗車領域P2、駐車領域R、および監視カメラ103の数や配置などは、図1および図2に示される例に制限されるものではない。実施形態の技術は、図1および図2に示された駐車場Pとは異なる様々な構成の駐車場に適用可能である。
次に、図3を参照して、実施形態にかかる管制装置101のハードウェア構成について説明する。なお、図3に示されるハードウェア構成は、あくまで一例であり、実施形態にかかる管制装置101のハードウェア構成は、様々に設定(変更)可能である。
図3は、実施形態にかかる管制装置101のハードウェア構成を示した例示的かつ模式的なブロック図である。図3に示されるように、実施形態にかかる管制装置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は、書き換え可能な不揮発性の補助記憶装置である。なお、実施形態にかかる管制装置101においては、補助記憶装置として、SSD306に替えて(またはSSD306に加えて)、HDD(Hard Disk Drive)が設けられてもよい。
次に、図4を参照して、実施形態にかかる車両制御システム102のシステム構成について説明する。なお、図4に示されるシステム構成は、あくまで一例であり、実施形態にかかる車両制御システム102のシステム構成は、様々に設定(変更)可能である。
図4は、実施形態にかかる車両制御システム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の前後方向または左右方向の加速度を検出する加速度センサや、車両Vの旋回速度(角速度)を検出するジャイロセンサなどを含んでいる。走行状態センサ406は、検出した走行状態を車載ネットワーク450に出力する。
通信インターフェース407は、車両制御システム102と外部装置との間の通信を実現するインターフェースである。たとえば、通信インターフェース407は、車両制御システム102と管制装置101との間の無線通信による信号の送受信や、車両制御システム102と端末装置Tとの間の無線通信による信号の送受信などを実現する。通信インターフェース407は、車両制御装置410のCPU410aに接続されている。
車載カメラ408は、車両Vの周辺の状況を撮像することで車両Vの周辺の状況を検出するセンサである。たとえば、車載カメラ408は、車両Vの前方、後方、および側方(左右両方)の路面を含む領域を撮像するように複数設けられる。車載カメラ408によって得られた画像データは、車両Vの周辺の状況の監視(障害物の検出も含む)に使用される。車載カメラ408は、得られた画像データを車両制御装置410に出力する。なお、以下では、車両制御システム102に設けられる、車載カメラ408を含む各種の車載センサから得られるデータを総称してセンサデータと記載することがある。
モニタ装置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は、車両Vの現在位置を推定する機能と、推定した現在位置を考慮して車両Vの走行制御を実行する機能と、を有しており、これらの機能によって、駐車場P内における自動運転を実現する。
車両制御装置410は、CPU410aと、ROM410bと、RAM410cと、SSD410dと、表示制御部410eと、音声制御部410fと、を有したECUとして構成されている。
CPU410aは、車両制御装置410を統括的に制御するハードウェアプロセッサである。CPU410aは、ROM410bなどに記憶された各種の制御プログラム(コンピュータプログラム)を読み出し、当該各種の制御プログラムに規定されたインストラクションにしたがって各種の機能を実現する。
ROM410bは、上述した各種の制御プログラムの実行に必要なパラメータなどを記憶する不揮発性の主記憶装置である。
RAM410cは、CPU410aの作業領域を提供する揮発性の主記憶装置である。
SSD410dは、書き換え可能な不揮発性の補助記憶装置である。なお、実施形態にかかる車両制御装置410においては、補助記憶装置として、SSD410dに替えて(またはSSD410dに加えて)、HDDが設けられてもよい。
表示制御部410eは、車両制御装置410で実行される各種の処理のうち、主として、車載カメラ408から得られた画像データに対する画像処理や、モニタ装置409の表示部409aに出力する画像データの生成などを司る。
音声制御部410fは、車両制御装置410で実行される各種の処理のうち、主として、モニタ装置409の音声出力部409bに出力する音声データの生成などを司る。
車載ネットワーク450は、制動システム401と、加速システム402と、操舵システム403と、変速システム404と、障害物センサ405と、走行状態センサ406と、モニタ装置409の操作入力部409cと、車両制御装置410と、を通信可能に接続する。
ところで、従来、所定の走行経路に沿って車両が走行する場合に、走行経路のうち車両Vが走行すべき残りの経路の長さとして設定される残距離に応じて、車両を制御する技術が知られている。このような従来の技術において、残距離は、車輪速センサや操舵角センサなどの検出値を利用したいわゆるオドメトリと呼ばれる方法により推定される車両の走行距離の長さを、走行経路全体の長さから差し引くことで算出される。
しかしながら、オドメトリは、車両の移動距離が長くなる程、推定結果の誤差が累積されて大きくなる方法であるため、上述した従来の方法では、残距離を正確に算出することができない場合がある。したがって、オドメトリのみに依存することなく、残距離をより正確に算出することが望まれる。
そこで、実施形態は、管制装置101および車両制御装置410に次の図5に示されるような機能を持たせることで、残距離をより正確に算出することを実現する。
図5は、実施形態にかかる管制装置101および車両制御装置410の機能を示した例示的かつ模式的なブロック図である。
図5に示される機能は、ソフトウェアとハードウェアとの協働によって実現される。すなわち、図5に示される例において、管制装置101の機能は、CPU301がROM302などに記憶された所定の制御プログラム(車両制御プログラム)を読み出して実行した結果として実現され、車両制御装置410の機能は、CPU410aがROM410bなどに記憶された所定の制御プログラム(車両制御プログラム)を読み出して実行した結果として実現される。なお、実施形態では、図5に示される機能の少なくとも一部が専用のハードウェア(回路)によって実現されてもよい。
図5に示されるように、実施形態にかかる管制装置101は、通信制御部511と、センサデータ取得部512と、駐車場データ管理部513と、誘導経路生成部514と、を有している。
通信制御部511は、車両制御装置410との間で実行される無線通信を制御する。たとえば、通信制御部511は、車両制御装置410との間で所定のデータを送受信することで車両制御装置410の認証を行ったり、自動駐車および自動出庫が完了した際に車両制御装置410から出力される所定の完了通知を受信したり、駐車場Pの地図データや後述する誘導経路などを必要に応じて車両制御装置410に送信したりする。
センサデータ取得部512は、駐車場P内に設けられる監視カメラ103を含む各種の場内センサからセンサデータを取得する。センサデータ取得部512により取得されるセンサデータ(特に監視カメラ103から得られる画像データ)は、たとえば、駐車領域Rの空き状況の把握などに利用することができる。
駐車場データ管理部513は、駐車場Pに関するデータ(情報)を管理する。たとえば、駐車場データ管理部513は、駐車場Pの地図データの管理や、駐車領域Rの空き状況の把握、駐車場P内において自動運転を実行している車両Vに関する情報(たとえば自動運転を実行している車両Vの有無)の把握などを行う。
誘導経路生成部514は、自動駐車および自動出庫が行われる際に車両制御装置410に指示する誘導経路を生成する。より具体的に、誘導経路生成部514は、自動駐車が行われる際においては、降車領域P1から空いている1つの駐車領域Rへと至る概略的な経路を誘導経路として生成し、自動出庫が行われる際においては、車両Vが現在駐車している駐車領域Rから乗車領域P2へと至る概略的な経路を誘導経路として生成する。
一方、図5に示されるように、実施形態にかかる車両制御装置410は、通信制御部521と、センサデータ取得部522と、地図データ取得部523と、現在位置取得部524と、走行経路取得部525と、残距離算出部526と、車両制御部527と、を有している。なお、図5に示される例では、これらの機能の全てが単一のECUとしての車両制御装置410内に実現されているが、実施形態では、これらの機能が複数のECU内に分散して実現されてもよい。
通信制御部521は、管制装置101との間で実行される無線通信を制御する。たとえば、通信制御部521は、管制装置101との間で所定のデータを送受信することで車両制御装置410の認証を行ったり、自動駐車および自動出庫が完了した際に所定の完了通知を管制装置101に送信したり、駐車場Pの地図データや誘導経路などを必要に応じて管制装置101から受信したりする。
センサデータ取得部522は、車両制御システム102に設けられる各種の車載センサによって得られるセンサデータを取得する。センサデータとは、前述したように、車載カメラ408を含む各種の車載センサから得られるデータである。したがって、センサデータは、オドメトリに使用可能な車輪速や操舵角などに関する検出値を含んでいる。
地図データ取得部523は、通信制御部521を介して駐車場Pの地図データを管制装置101から取得する。前述したように、地図データとは、駐車場Pの路面に固定的に設置された路面標示に関する正規の標示データなどを含んだ、駐車場Pの構造に関するデータである。
現在位置取得部524は、センサデータ取得部522により取得されたセンサデータに基づいて、オドメトリにより、車両Vの現在位置を取得(推定)する。なお、実施形態において、現在位置取得部524は、車載カメラ408によって得られた画像データに対して画像認識処理を実行することで検出される、車載カメラ408の撮像範囲に存在する路面標示に関する計算上の標示データと、地図データ取得部523により取得された地図データに含まれる正規の標示データと、を照合し、照合結果に基づいて、オドメトリによって得られる車両Vの位置を補正してもよい。この場合、補正後の位置が、車両Vの現在位置として取得される。
走行経路取得部525は、通信制御部521を介して管制装置101から誘導経路を取得し、取得された誘導経路に基づいて、自動運転で辿るべき走行経路を取得(生成)する。より具体的に、実施形態において、走行経路取得部525は、次の図6に示されるように、第1の位置(たとえば自動運転の始点)から第2の位置(たとえば自動運転の終点)までの走行経路を、区間ごとに予め決められた長さを有する複数の区間の端点の集合として取得する。
図6は、実施形態において生成される走行経路の一例を示した例示的かつ模式的な図である。図6に示される例では、端点P601の位置を上記の第1の位置とし、端点P607の位置を上記の第2の位置とした走行経路C600が例示されている。
実施形態において、走行経路取得部525は、まず、走行経路C600を、直線および円弧の組み合わせによって仮想的に近似する。より具体的に、走行経路取得部525は、走行経路C600を、直線および円弧によって仮想的に分割する。たとえば、図6に示される例において、区間SC610は、直線の区間に対応し、区間SC610の次の区間SC620は、円弧の区間に対応し、区間SC620の次の区間SC630は、直線の区間に対応する。
なお、図6に示される例では、走行経路C600が直線および円弧の組み合わせのみによって仮想的に近似されている。しかしながら、実施形態において、走行経路取得部525は、走行経路C600以外の他の走行経路を、当該走行経路の形状に応じて、直線、円弧、およびクロソイドを含む複数種類の線のうち1種類以上の線の組み合わせによって仮想的に近似することもできる。
線種ごとの仮想的な分割が完了すると、走行経路取得部525は、分割された各区間を、それぞれ同じ長さを有する1以上の第1の区間と、当該第1の区間の長さ以下の長さを有する1つの第2の区間と、にさらに仮想的に分割する。より具体的に、走行経路取得部525は、まず、線種ごとに分割された各区間に対して等間隔で複数の点のプロットを実行する。そして、走行経路取得部525は、プロットされた複数の点の間の区間を、第1の区間として設定し、等間隔でのプロットができなくなった残りの区間を、第2の区間として設定する。
たとえば、図6に示される例において、走行経路取得部525は、区間SC610を区間SC611と区間SC612とに仮想的に分割し、区間SC620を区間SC621と区間SC622とに仮想的に分割し、区間SC630を区間SC631と区間SC632とに仮想的に分割する。ここで、区間SC611、SC621、およびSC631は、上記の第1の区間に対応し、区間SC612、SC622、およびSC632は、上記の第2の区間に対応する。
なお、図6に示される例では、区間SC610、SC620、およびSC630がそれぞれ2分割されている。しかしながら、区間SC610、SC620、およびSC630のそれぞれの分割数は、2つに限られるものではない。実施形態では、区間SC610、SC620、およびSC630のそれぞれが、2以上の第1の区間と、1つの第2の区間とに分割されてもよい。
このように、図6に示される例において、走行経路取得部525は、走行経路C600を、最終的に、区間SC611、SC612、SC621、SC622、SC631、およびSC632に仮想的に分割する。そして、走行経路取得部525は、これらの区間の全ての端点P601~P607の集合を、走行経路C600として生成する。
なお、実施形態では、上記のように、走行経路を複数の区間の端点の集合として生成する処理が車両制御装置410側で実行される構成が例示されている。しかしながら、この処理は、管制装置101側で実行されてもよい。この場合、走行経路取得部525は、管制装置101から通信によって取得された走行経路をそのまま使用する。
図5に戻り、残距離算出部526は、現在位置取得部524により取得(推定)される車両Vの現在位置と、走行経路取得部525により取得(生成)される走行経路と、に基づいて、走行経路のうち車両Vが走行すべき残りの経路の長さとして設定される残距離を算出する。残距離は、たとえば次の図7に示されるような方法で算出される。
図7は、実施形態において残距離を算出するための方法の一例を説明するための例示的かつ模式的な図である。以下では、一例として、図6に示される走行経路C600を対象として残距離を算出する方法について説明する。なお、図7に示される例において、車両Vの現在位置は、点P701として表されている。
実施形態において、残距離算出部526は、まず、走行経路C600上で車両Vの現在位置に最も近い1つの区間を特定する。このような1つの区間を特定するための方法については、後で詳細に説明するため、ここでは説明を省略する。たとえば、図7に示される例において、残距離算出部526は、車両Vの現在位置に最も近い1つの区間として、車両Vの現在位置を表す点P701に最も近い区間SC611を特定する。
そして、残距離算出部526は、区間SC611よりも走行経路C600の終点側に位置する残りの1以上の区間の各々の長さの積算値を算出する。たとえば、図7に示される例において、残距離算出部526は、区間SC611に対して端点P607側に次々と隣接する区間SC612、SC621、SC622、SC631、およびSC632の長さの積算値としての長さD702を算出する。これらの区間は、前述した第1の区間および第2の区間のいずれかに該当するので、積算値としての長さD702は、第1の区間および第2の区間に対して予め決められた長さに基づいて容易に、かつ正確に算出することが可能である。
そして、残距離算出部526は、区間SC611を表す線(図7に示される例では直線だが曲線もありうる)と、区間SC611の両端点を結ぶ線分に対して車両Vの現在位置を表す点P701を通って垂直に延びる直線と、が交差する点P700を特定する。そして、残距離算出部526は、点P700と、区間SC611の両端点のうち走行経路C600の終点側に近い方の端点P602と、の間の部分区間の長さD1を算出する。この長さD1は、端点P601およびP602と点P700との位置を表す座標などといった情報と、区間SC611について予め決められた長さと、に基づく幾何的な演算などによって容易に算出することが可能である。
そして、残距離算出部526は、上記の積算値としての長さD702と、上記の部分区間の長さD701と、の加算結果を、残距離として算出する。長さD701は、オドメトリに依存して算出される情報であるが、長さD702は、オドメトリに依存せず、予め決められた各区間の長さを利用して算出される情報であるので、実施形態にかかる方法によって算出された残距離は、オドメトリのみに依存した従来の方法によって算出された残距離に比べて、より正確であると言える。
ここで、上記の方法に従って残距離を算出するために必要となる、車両Vの現在位置に最も近い1つの区間を特定するための一つの方法について説明する。実施形態において、残距離算出部526は、次の図8に示されるような方法で、車両Vの現在位置に最も近い1つの区間に該当するか否かの判定を、走行経路の複数の区間の各々について順次実行する。
図8は、実施形態において車両Vの現在位置に最も近い1つの区間を特定するための方法の一例を説明するための例示的かつ模式的な図である。図8に示される例では、点P801およびP802を両端点とした区間SC800が、車両Vの現在位置に対応した点P800に最も近い1つの区間に該当するか否かの判定対象となっている。
点P801およびP802を両端点として有する判定対象の区間SC800が、車両Vの現在位置に対応した点P800に最も近い1つの区間に該当すると言えるための条件は、点P800、P801およびP802で構成される三角形において、点P801およびP802にそれぞれ対応した2つの内角θ801およびθ802が直角または鋭角である、という条件だと言える。
したがって、実施形態において、残距離算出部526は、図8の(A)に示されるような、点P801から点P802に向かうベクトルV801と、点P801から点P800に向かうベクトルV802と、の内積を計算するとともに、図8の(B)に示されるような、点P802から点P801に向かうベクトルV803と、点P802から点P800に向かうベクトルV804と、の内積を計算する。そして、残距離算出部526は、これら2つの内積がともに0以上であるか否かに基づいて、判定対象の区間SC800が点P800に最も近い1つの区間に該当するか否かを判定する。
図8に示される例では、点P801およびP802にそれぞれ対応した2つの内角θ801およびθ802がいずれも鋭角であるので、上記の2つの内積がいずれも0以上となる。したがって、点P801およびP802を両端点として有する図8に示される区間SC800は、車両Vの現在位置に対応した点P800に最も近い1つの区間であるとして判定される。
ここで、実施形態において、残距離算出部526は、上記の2つの内積に関する条件の判定を、判定対象の区間を切り替えながら走行経路の複数の区間について順次実行することで、条件を満たす区間を探索する。そして、残距離算出部526は、条件を満たす区間として最初に発見された1つの区間を、車両Vの現在位置に最も近い1つの区間として特定する。
なお、実施形態において、残距離算出部526は、上記の2つの内積に代えて(または加えて)、車両Vの現在位置と判定対象の区間の各端点との距離を考慮して、車両Vの現在位置に最も近い1つの区間を特定してもよい。
図5に戻り、車両制御部527は、制動システム401や加速システム402、操舵システム403、変速システム404などを介して車両Vの走行状態を制御することで、(駐車場P内における)車両Vの自動運転を実行する。たとえば、車両制御部527は、自動運転として、降車領域P1からの発進制御や、降車領域P1から駐車領域Rへの走行制御(駐車制御を含む)、駐車領域Rから乗車領域P2への走行制御(出庫制御を含む)、乗車領域P2への停車制御などを実行する。
ここで、実施形態において、車両制御部527は、残距離算出部526により算出される残距離に応じて、車両Vを制御する。たとえば、車両制御部527は、残距離が閾値未満(または閾値以下)である場合に、車両Vを減速させ、残距離が閾値以上(または閾値を超えている)である場合、車両Vを所定速度(たとえば駐車場P内における制限速度)以下の範囲で加速させる。これにより、残距離に応じて車両Vの走行状態が適切に制御される。
なお、実施形態において、車両制御部527は、残距離に応じて、車両Vの走行状態の制御以外の制御も実行しうる。たとえば、車両制御部527は、車両Vの車室内に設けられるモニタ装置409(図4参照)を制御することで、画像および音声の少なくとも一方によって車両Vの内側に向けて残距離を通知してもよいし、車両Vの外装に設けられるランプおよびスピーカ(いずれも不図示)の少なくとも一方を制御することで、画像および音声の少なくとも一方によって車両Vの外側に向けて残距離を通知してもよい。
また、実施形態において、車両制御部527は、車載カメラ408によって得られる画像データを含む、車両制御システム102に設けられる各種の車載センサから出力されるデータを、制御に利用することができる。これにより、車両制御部527は、状況の変化に応じて速度などを適宜調整しながら自動運転を実行することが可能である。
以上の構成に基づき、実施形態にかかる自動バレー駐車システムは、以下の図9~図11に示されるような流れで各種の処理を実行する。
図9は、実施形態にかかる管制装置101および車両制御装置410が自動駐車の際に実行する処理の流れを示した例示的かつ模式的なシーケンス図である。この図9に示される処理シーケンスは、たとえば、乗員Xが降車領域P1で端末装置Tを操作することで、自動駐車のトリガとなる所定の指示を行った場合に開始する。
図9に示される処理シーケンスでは、まず、S901において、管制装置101の通信制御部511と、車両制御装置410の通信制御部521と、が通信を確立する。このS901で通信が確立すると、識別情報(ID)の送受信による認証や、管制装置101の監視下での自動運転を実現するための運行権限の譲受などが実行される。
また、S901で通信が確立すると、管制装置101は、S902において、駐車場Pの地図データを車両制御装置410に通信制御部511を介して送信する。
そして、管制装置101の駐車場データ管理部513は、S903において、センサデータ取得部512により取得される情報などに基づいて、駐車領域Rの空きを確認し、空いている1つの駐車領域Rを、車両Vに与える目標駐車領域として指定する。
そして、管制装置101の誘導経路生成部514は、S904において、自動駐車の際に車両Vが辿るべき、降車領域P1からS903で指定した目標駐車領域へと至る誘導経路を生成する。
そして、管制装置101は、S905において、S904で生成された誘導経路を車両制御装置410に通信制御部511を介して送信する。
一方、車両制御装置410の現在位置取得部524は、S902で管制装置101から送信された地図データが通信制御部521を介して受信された後のS906において、降車領域P1内における初期位置を推定する。初期位置とは、降車領域P1からの発進の起点となる、降車領域P1内における車両Vの現在位置(実位置)である。初期位置の推定には、たとえば、地図データに含まれる路面標示に関する正規の標示データと、車載カメラ408によって得られる画像データから画像認識処理によって検出される計算上の標示データと、の照合結果が利用される。なお、図9に示される例では、S906の処理がS905の処理の前に実行されているが、S906の処理は、S905の処理の後に実行されてもよい。
S906で初期位置が推定され、かつ、S905で管制装置101から送信された誘導経路が通信制御部521を介して受信されると、車両制御装置410の走行経路取得部525は、S907において、S906で推定された初期位置などに基づいて、実際の自動駐車の際に辿るべき、誘導経路に基づいた実際の走行経路を生成する。
そして、車両制御装置410の車両制御部527は、S908において、降車領域P1からの発進制御を実行する。
そして、車両制御装置410の車両制御部527は、S909において、S907で生成された走行経路に沿った走行制御を実行する。
そして、車両制御装置410の車両制御部527は、S910において、目標駐車領域への駐車制御を実行する。
そして、S910における駐車制御が完了すると、車両制御装置410は、S911において、駐車完了の通知を管制装置101に通信制御部521を介して送信する。
以上のようにして、自動バレー駐車における自動駐車が実現される。
図10は、実施形態にかかる管制装置101および車両制御装置410が自動出庫の際に実行する処理の流れを示した例示的かつ模式的なシーケンス図である。この図10に示される処理シーケンスは、たとえば、乗員Xが乗車領域P2で端末装置Tを操作することで、自動出庫のトリガとなる所定の呼び出しを行った場合に開始する。
図10に示される処理シーケンスでは、まず、S1001において、管制装置101の通信制御部511と、車両制御装置410の通信制御部521と、が通信を確立する。このS1001で通信が確立すると、図9に示されるS901と同様に、識別情報(ID)の送受信による認証や、管制装置101の監視下での自動運転を実現するための運行権限の譲受などが実行される。
また、S1001で通信が確立すると、管制装置101は、S1002において、駐車場Pの地図データを車両制御装置410に通信制御部511を介して送信する。
そして、管制装置101の駐車場データ管理部513は、S1003において、センサデータ取得部512により取得される情報などに基づいて、通信相手の車両制御装置410を搭載した車両Vが現在位置している駐車領域Rを確認する。
そして、管制装置101の誘導経路生成部514は、S1004において、自動出庫の際に車両Vが辿るべき、S1003で確認された駐車領域Rから乗車領域P2へと至る誘導経路を生成する。
そして、管制装置101は、S1005において、S1004で生成された誘導経路を車両制御装置410に通信制御部511を介して送信する。
S1005で管制装置101から送信された誘導経路が通信制御部521を介して受信されると、車両制御装置410の走行経路取得部525は、S1007において、実際の自動出庫の際に辿るべき、誘導経路に基づいた実際の走行経路を生成する。
そして、車両制御装置410の車両制御部527は、S1008において、駐車領域Rからの出庫制御を実行する。
そして、車両制御装置410の車両制御部527は、S1009において、S1007で生成された走行経路に沿った走行制御を実行する。
そして、車両制御装置410の車両制御部527は、S1010において、乗車領域P2への停車制御を実行する。
そして、S1010における停車制御が完了すると、車両制御装置410は、S1011において、出庫完了の通知を管制装置101に通信制御部521を介して送信する。
以上のようにして、自動バレー駐車における自動出庫が実現される。
なお、図9に示されるS907~S910の処理と、図10に示されるS1007~S1010の処理は、あくまで概略的なものである。実施形態では、走行経路の生成を含む車両Vの走行制御に対応した処理が、次の図11に示されるような流れに従ってより詳細に実行される。
図11は、実施形態にかかる車両制御装置410が実行する残距離に応じた走行制御における処理の流れを示した例示的かつ模式的なフローチャートである。
図11に示される処理フローでは、まず、S1101において、車両制御装置410の走行経路取得部525は、管制装置101から取得された誘導経路に基づいて、自動運転で辿るべき第1の位置から第2の位置までの走行経路を、区間ごとに予め決められた長さを有する複数の区間の端点の集合として取得する。
そして、S1102において、車両制御装置410の現在位置取得部524は、オドメトリにより、車両Vの現在位置を取得する。
そして、S1103において、車両制御装置410の残距離算出部526は、S1101で取得された走行経路における複数の区間から、S1102で取得された現在位置に最も近い1つの区間を探索する。たとえば、残距離算出部526は、前述したような内積に関する条件を満たすか否かの判定を、複数の区間の各々について順次実行する。
そして、S1104において、車両制御装置410の残距離算出部526は、S1103の探索において、条件に合う1つの区間が見つかったか否かを判断する。
S1104において、条件に合う1つの区間が見つからなかったと判断された場合、S1103に処理が戻り、同様の探索が引き続き実行される。一方、S1104において、条件に合う1つの区間が見つかったと判断された場合、S1105に処理が進む。
そして、S1105において、車両制御装置410の残距離算出部526は、S1103およびS1104(の繰り返し)において最初に見つかった条件に合う1つの区間を、車両Vの現在位置に最も近い1つの区間として特定する。
そして、S1106において、車両制御装置410の残距離算出部526は、S1105で特定された1つの区間の次以降の区間、すなわち、S1105で特定された1つの区間に対して走行経路の終点側に次々と隣接する残りの1以上の区間の長さを積算する。なお、残りの1以上の区間の各々の長さは、S1101における走行経路の取得時に予め決められている。
そして、S1107において、車両制御装置410の残距離算出部526は、S1105で特定された1つの区間について予め決められた長さに基づいて、当該1つの区間の部分区間の長さを算出する。前述したように、部分区間とは、図7に示される例において長さD701を有する区間である。
そして、S1108において、車両制御装置410の残距離算出部526は、S1106で算出された積算値と、S1107で算出された部分区間の長さと、の加算結果を、残距離として算出する。
そして、S1109におおいて、車両制御装置410の車両制御部527は、S1108で算出された残距離が閾値未満か否かを判断する。
S1109において、残距離が閾値未満であると判断された場合、S1110に処理が進む。そして、S1110において、車両制御装置410の車両制御部527は、制動システム401などを制御することで、車両Vを減速させる。
一方、S1109において、残距離が閾値以上であると判断された場合、S1111に処理が進む。そして、S1111において、車両制御装置410の車両制御部527は、加速システム402などを制御することで、車両Vを所定速度(たとえば駐車場P内における制限速度)以下の範囲で加速させる。
S1110またはS1111の処理が実行されると、S1112に処理が進む。そして、S1112において、車両制御装置410の車両制御部527は、残距離に応じた走行制御の終了条件が成立したか否かを判断する。終了条件は、たとえば緊急停止制御が必要となった場合など、残距離に応じた走行制御を必要としない状況が発生した場合に成立するように設定されうる。
S1112において、終了条件が成立していないと判断された場合、S1102に処理が戻り、残距離に応じた走行制御が引き続き実行される。一方、S1112において、終了条件が成立したと判断された場合、処理が終了する。
このようにして、実施形態では、残距離に応じて車両Vの走行状態が適切に制御される。
以上説明したように、実施形態にかかる車両制御装置410は、現在位置取得部524と、走行経路取得部525と、残距離算出部526と、車両制御部527と、を備えている。現在位置取得部524は、車両Vの現在位置を取得する。走行経路取得部525は、第1の位置から第2の位置まで設定される車両Vの走行経路(たとえば図6に示される、端点P601の位置から端点P607の位置まで延びる走行経路C600)を、区間ごとに予め決められた長さを有する複数の区間の端点(たとえば図6に示される端点P601~P607)の集合として取得する。残距離算出部526は、複数の区間において車両Vの現在位置に最も近い1つの区間の両端点のうち第1の位置に近い方の第1の端点(たとえば図7に示される端点P601)と、第2の位置に対応した第2の端点(たとえば図7に示される端点P607)と、の間に位置する1以上の区間の各々の予め決められた長さに基づいて、走行経路において車両Vが走行すべき残りの経路の長さとして設定される残距離を算出する。車両制御部527は、残距離に応じて車両Vを制御する。
実施形態にかかる車両制御装置410によれば、走行経路の取得において予め決められた長さを利用して、残距離をより正確に算出することができる。
ここで、実施形態において、残距離算出部526は、第1の端点(たとえば図7に示される端点P601)と第2の端点(たとえば図7に示される端点P607)との間に2以上の区間が存在する場合、2以上の区間のうち、車両Vの現在位置に最も近い1つの区間よりも第2の端点側に位置する残りの1以上の区間の各々の予め決められた長さの積算値(たとえば図7に示される長さD2)を算出する。また、残距離算出部526は、車両Vの現在位置に最も近い1つの区間を表す線と、当該1つの区間の両端点を結ぶ線分に対して車両Vの現在位置を通って垂直に延びる直線と、が交差する点(たとえば図7に示される点P700)と、車両Vの現在位置に最も近い1つの区間の両端点のうち第2の位置に近い方の第3の端点(たとえば図7に示される端点P602)と、の間の部分区間の長さ(たとえば図7に示される長さD1)を、車両Vの現在位置に最も近い1つの区間の予め決められた長さに基づいて算出する。そして、残距離算出部526は、積算値と、部分区間の長さと、の加算結果を、残距離として算出する。このような構成によれば、積算値と、部分区間の長さとを加算するだけで、正確な残距離を容易に算出することができる。
また、実施形態において、残距離算出部526は、車両Vの現在位置に対応した1点とともに三角形を構成する2つの端点にそれぞれ対応した2つの内角(たとえば図8に示される内角θ801およびθ802)が直角または鋭角となるか否かに基づいて、車両Vの現在位置に最も近い1つの区間を特定する。このような構成によれば、内角に基づいて、車両Vの現在位置に最も近い1つの区間を容易に特定することができる。
また、実施形態において、残距離算出部526は、上記の2つの端点のうち一方の端点から他方の端点に向かう第1のベクトル(たとえば図8に示されるベクトルV801)と、一方の端点から車両Vの現在位置に対応した1点に向かう第2のベクトル(たとえば図8に示されるベクトルV802)と、の内積が0以上であり、かつ、他方の端点から一方の端点に向かう第3のベクトル(たとえば図8に示されるベクトルV803)と、他方の端点から車両の現在位置に対応した1点に向かう第4のベクトル(たとえば図8に示されるベクトルV804)と、の内積が0以上であるか否かに基づいて、車両Vの現在位置に最も近い1つの区間を特定する。このような構成によれば、内積に基づいて、対応する内角が直角または鋭角となるか否かを容易に判定することができるので、車両Vの現在位置に最も近い1つの区間を容易に特定することができる。
また、実施形態において、残距離算出部526は、上記の2つの内角が直角または鋭角となるか否かの判断を、複数の区間の各々に対して順次実行し、2つの内角が直角または鋭角となると判断された最初の区間を、車両Vの現在位置に最も近い1つの区間として特定する。このような構成によれば、複数の区間の全てについて内角に関する判断を実行する場合と異なり、処理負担を軽減することができる。
また、実施形態において、走行経路取得部525は、直線、円弧、およびクロソイドを含む複数種類の線のうち1種類以上の線の組み合わせによって走行経路を近似し、当該1種類以上の線の各々を、それぞれ同じ長さを有する1以上の第1の区間(たとえば図6に示される区間SC611など)と、当該第1の区間の長さ以下の長さを有する1つの第2の区間(たとえば図6に示される区間SC612など)と、に仮想的に分割することで、複数の区間を取得する。このような構成によれば、走行経路を近似する線ごとに仮想的な分割を実行することで、複数の区間を容易に取得することができる。
また、実施形態において、車両制御部527は、残距離が閾値未満である場合に、車両Vを減速させる。このような構成によれば、たとえば停車位置への接近に応じた停車準備などといった、残距離に応じた適切な車両Vの制御を実現することができる。
また、実施形態において、車両制御部527は、残距離が閾値以上である場合、車両Vを所定速度以下の範囲で加速させる。このような構成によれば、たとえば停車位置へのより迅速な接近などといった、残距離に応じた適切な車両Vの制御を実現することができる。
なお、実施形態にかかる技術は、次の図12に示されるような状況にも有効に適用することが可能である。
図12は、実施形態にかかる技術が有効に適用される状況の一例を示した例示的かつ模式的な図である。図12に示される例では、点P1201から点P1202までの走行経路C1200の途中に、たとえば車両Vが停車すべき位置として設定された位置を表す点P1200が存在している。
図12に示される例では、点P1202までの残距離よりも、点P1200までの残距離の方が重要となる。したがって、たとえば車両Vが点P1201に位置している場合、残距離算出部526は、点P1201から点P1202までの距離D1200と、点P1200から点P1202までの距離D1201とを、上述した実施形態と同様の方法で算出する。そして、残距離算出部526は、これらの距離D1200およびD1201の差分の距離D1202を、点P1200までの残距離として算出する。
距離D1200およびD1201は、上述した実施形態と同様の方法による走行経路C1200の仮想的に分割に応じた複数の区間の各々の予め決められた長さに基づいて正確に算出することが可能である。したがって、これらの距離D1200およびD1201の差分によって求められる距離D1202も、正確に算出することが可能である。
このように、実施形態にかかる技術は、点P1201から点P1202までの走行経路C1200の途中に存在する、たとえば車両Vが停車すべき位置として設定された位置を表す点P1200までの残距離を算出することが必要な状況にも有効に適用することが可能である。
<変形例>
なお、上述した実施形態では、本開示の技術が自動バレー駐車システムに適用される場合が例示されている。しかしながら、本開示の技術は、第1の位置から第2の位置まで設定される走行経路に沿った車両の自動運転(半自動運転を含む)を実現する運転制御システムであれば、自動バレー駐車システム以外の自動運転制御システムにも適用可能である。
また、上述した実施形態では、地図データを通信によって管制装置101から取得する構成が例示されている。しかしながら、変形例として、地図データを予め車両制御装置410に記憶しておく構成も考えられる。
同様に、上述した実施形態では、管制装置101から通信によって取得された誘導経路に基づいて車両制御装置410側で走行経路を生成する構成が例示されている。しかしながら、変形例として、車載カメラ408を含む車両制御システム102に設けられる各種の車載センサから取得されるセンサデータに基づいて、走行経路を車両制御装置410側のみで適宜生成する構成も考えられる。
なお、上述した実施形態および変形例において実行される車両制御プログラムは、インストール可能または実行可能な形式のファイルとして、CD-ROM、フレキシブルディスク(FD)、CD-R、DVDなどといった、コンピュータで読み取り可能な記録媒体に記録された状態で提供されてもよい。
また、上述した実施形態および変形例において実行される車両制御プログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、上述した実施形態および変形例において実行される車両制御プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
以上、本開示の実施形態および変形例を説明したが、上述した実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上述した新規な実施形態および変形例は、様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上述した実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。