以下、本発明に係る自動運転支援システムを、ナビゲーション装置に具体化した一実施形態に基づき図面を参照しつつ詳細に説明する。先ず、本実施形態に係るナビゲーション装置1の概略構成について図1を用いて説明する。図1は本実施形態に係るナビゲーション装置1を示したブロック図である。
図1に示すように本実施形態に係るナビゲーション装置1は、ナビゲーション装置1が搭載された車両の現在位置を検出する現在位置検出部11と、各種のデータが記録されたデータ記録部12と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU13と、ユーザからの操作を受け付ける操作部14と、ユーザに対して車両周辺の地図や後述の経路探索処理によって探索された経路に関する情報等を表示する液晶ディスプレイ15と、経路案内に関する音声ガイダンスを出力するスピーカ16と、記憶媒体であるDVDを読み取るDVDドライブ17と、プローブセンタやVICS(登録商標:Vehicle Information and Communication System)センタ等の情報センタとの間で通信を行う通信モジュール18と、から構成されている。また、ナビゲーション装置1はCAN等の車載ネットワークを介して、ナビゲーション装置1の搭載された車両に対して設置された車外カメラ19や各種センサが接続されている。更に、ナビゲーション装置1の搭載された車両に対する各種制御を行う車両制御ECU20とも双方向通信可能に接続されている。また、後述する自動運転スイッチや自動運転開始ボタン等の車両に搭載された各種操作ボタン21についても接続されている。
以下に、ナビゲーション装置1を構成する各構成要素について順に説明する。
現在位置検出部11は、GPS22、車速センサ23、ステアリングセンサ24、ジャイロセンサ25等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ23は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU13に出力する。そして、ナビゲーションECU13は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサをナビゲーション装置1が全て備える必要はなく、これらの内の1又は複数種類のセンサのみをナビゲーション装置1が備える構成としても良い。
また、データ記録部12は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記録された地図情報DB31や制御テーブル32や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部12をハードディスクの代わりにメモリーカードやCDやDVD等の光ディスクにより構成しても良い。また、地図情報DB31は外部のサーバに格納させ、ナビゲーション装置1が通信により取得する構成としても良い。
ここで、地図情報DB31は、例えば、道路(リンク)に関するリンクデータ33、ノード点に関するノードデータ34、経路の探索や変更に係る処理に用いられる探索データ35、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
また、リンクデータ33としては、道路を構成する各リンクに関してリンクの属する道路の幅員、勾(こう)配、カント、バンク、路面の状態、JCTやICのランプ、合流区間、道路の車線数、車線数の減少する箇所、幅員の狭くなる箇所、踏切り等を表すデータが、コーナに関して、曲率半径、交差点、T字路、コーナの入口及び出口等を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。
また、ノードデータ34としては、実際の道路の分岐点(交差点、T字路等も含む)や各道路に曲率半径等に応じて所定の距離毎に設定されたノード点の座標(位置)、ノードが交差点に対応するノードであるか等を表すノード属性、ノードに接続するリンクのリンク番号のリストである接続リンク番号リスト、ノードにリンクを介して隣接するノードのノード番号のリストである隣接ノード番号リスト、各ノード点の高さ(高度)等に関するデータ等が記録される。
また、探索データ35としては、後述のように出発地(例えば車両の現在位置)から設定された目的地までの経路を探索する経路探索処理に使用される各種データについて記録されている。具体的には、交差点に対する経路として適正の程度を数値化したコスト(以下、交差点コストという)や道路を構成するリンクに対する経路として適正の程度を数値化したコスト(以下、リンクコストという)等の探索コストを算出する為に使用するコスト算出データが記憶されている。
一方、制御テーブル32は、車両の走行予定経路に自動運転制御が行われる自動運転区間を含む場合において、自動運転区間において車両に対して行われる自動運転制御の制御内容(例えば、直進、右へ車線変更、合流等)を設定したテーブルである。ここで、制御テーブル32は、車両の走行予定経路が決定された時点又は車両の走行中においてナビゲーションECU13により設定される。そして、制御テーブル32が設定されると、ナビゲーションECU13は走行予定経路とともに車両制御ECU20に対して制御テーブル32を送信する。そして、車両制御ECU20は受信した制御テーブル32に応じて走行中の自動運転制御を実施する。尚、制御テーブル32の詳細については後述する。
ここで、車両の走行形態としては、ユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路に沿って自動的に走行を行う自動運転制御による走行が可能である。尚、自動運転制御では、例えば、車両の現在位置、車両が走行する車線、周辺の他車両の位置を随時検出し、車両制御ECU20によって予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、自動運転制御の詳細については既に公知であるので説明は省略する。また、自動運転制御は全ての道路区間に対して行っても良いが、以下の説明では車両の自動運転制御が行われる自動運転区間として、接続する他の道路との境界にゲート(有人無人、有料無料は問わない)が設けられた高速道路を設定し、車両が自動運転区間を走行する間のみにおいて基本的に上記自動運転制御が行われるとして説明する。但し、自動運転区間としては他の区間を設定しても良い。例えば、高速自動車国道、都市高速道路、自動車専用道路、有料道路、一般道路を自動運転区間に設定しても良い。尚、車両が自動運転区間を走行する場合には必ず自動運転制御が行われるのではなく、ユーザにより自動運転制御を行うことが選択され、且つ後述のように自動運転制御で走行を行わせることが適切な状況でのみ行われる。即ち、自動運転区間は、車両に対して手動運転に加えて自動運転制御を行うことが許可された区間である。
上記自動運転制御による走行は、ユーザの運転に係る負担を軽減できるメリットがあるが、道路状況によっては自動運転制御で走行を行わせることが難しい状況がある。そして、本実施形態に係るナビゲーション装置1では、自動運転区間の内、そのような自動運転制御で走行を行わせることが難しい状況が生じる区間については、車両の自動運転制御を中断して手動運転により走行させる中断区間に設定する。尚、中断区間の設定は走行予定経路の決定時や車両の走行中において行われる。例えば、短区間での合流や車線変更が必要となる区間や区画線の薄い区間については自動運転制御を行うことが困難であるので、該区間は中断区間に設定される。
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)13は、ナビゲーション装置1の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU41、並びにCPU41が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM42、制御用のプログラムのほか、後述の自動運転案内処理プログラム(図2参照)や自動運転制御処理プログラム(図15参照)等が記録されたROM43、ROM43から読み出したプログラムを記憶するフラッシュメモリ44等の内部記憶装置を備えている。尚、ナビゲーションECU13は、処理アルゴリズムとしての各種手段を構成する。例えば、制御内容取得手段は、車両の自動運転制御が行われる自動運転区間を走行する場合に、該自動運転区間における車両の自動運転制御の制御内容を取得する。制御案内手段は、車両が自動運転区間を自動運転制御により走行する間において、車両に対して次回以降に行われる自動運転制御の制御内容を、所定間隔で繰り返し案内する。
操作部14は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)から構成される。そして、ナビゲーションECU13は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部14は液晶ディスプレイ15の前面に設けたタッチパネルによって構成することもできる。また、マイクと音声認識装置によって構成することもできる。
また、液晶ディスプレイ15には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、経路探索時において探索された出発地から目的地までの案内経路、案内経路に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ15の代わりに、HUDやHMDを用いても良い。
また、スピーカ16は、ナビゲーションECU13からの指示に基づいて案内経路に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。特に本実施形態では、車両が自動運転区間を自動運転制御により走行する間において、車両に対して次回以降に行われる自動運転制御の制御内容を、所定間隔で繰り返し出力する。
また、DVDドライブ17は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報DB31の更新等が行われる。
また、通信モジュール18は、交通情報センタ、例えば、VICSセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。
また、車外カメラ19は、例えばCCD等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ19は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、車両制御ECU20は撮像された撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等を検出し、検出結果に基づいて車両の自動運転制御を行う。一方、ナビゲーションECU13は、車両が自動運転区間を走行する場合において、後述のように車外カメラ19によって撮像された撮像画像に基づいて自動運転制御で走行を行わせることが難しい状況が生じる区間(例えば区画線の薄い区間等)の検出を行う。検出された区間は後述のように中断区間に設定されることとなる。尚、車外カメラ19は車両前方以外に後方や側方に配置するように構成しても良い。また、自動運転制御で走行を行わせることが難しい状況が生じる区間の検出には、車外カメラ19の代わりに照度センサや降雨センサ等の各種センサを用いても良い。その場合には、例えば、大雨や濃霧等を検出することが可能となる。また、他車両を検出する手段としてはカメラの代わりにミリ波レーダ等のセンサや車車間通信や路車間通信を用いても良い。
また、車両制御ECU20は、ナビゲーション装置1が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ECU20にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、本実施形態では特に車両が自動運転区間を走行する場合において各駆動部を制御することにより車両の自動運転制御を実施する。また、ナビゲーションECU13は、前記したように車両の走行予定経路や走行予定経路に対して実施される自動運転制御を設定した制御テーブル32を作成すると、CANを介して車両制御ECU20に対して走行予定経路や制御テーブル32を送信する。そして、車両制御ECU20は受信した走行予定経路や制御テーブル32に応じて走行中の自動運転制御を実施する。
続いて、上記構成を有する本実施形態に係るナビゲーション装置1においてCPU41が実行する自動運転案内処理プログラムについて図2に基づき説明する。図2は本実施形態に係る自動運転案内処理プログラムのフローチャートである。ここで、自走運転案内処理プログラムは、車両の走行予定経路(案内経路)が決定された後において所定間隔(例えば100ms間隔)で実行され、自動運転制御に関する各種案内を行うプログラムである。尚、走行予定経路は、例えば走行開始時においてユーザが目的地を設定することにより、公知のダイクストラ法を用いた経路探索処理が実行され、複数の候補の内からユーザの操作により決定される。また、以下の図2、図5、図6、図15及び図16にフローチャートで示されるプログラムは、ナビゲーション装置1が備えているRAM42やROM43に記憶されており、CPU41により実行される。
先ず、自動運転案内処理プログラムではステップ(以下、Sと略記する)1において、CPU41は、自動運転スイッチがONされているか否かを判定する。ここで、自動運転スイッチは、自動運転区間で基本的に車両が自動運転制御を行うか、或いは自動運転制御を行わずに手動運転を行うかをユーザが切り替えるスイッチであり、インストルメントパネル等に配置される。
そして、自動運転スイッチがONされていると判定された場合(S1:YES)にはS5へと移行する。それに対して、自動運転スイッチがOFFされていると判定された場合(S1:NO)にはS2へと移行する。
即ち、自動運転スイッチがOFFされていると判定された場合には、自動運転区間で自動運転制御を行わずに手動運転を行うことをユーザが希望しているので、後述のようにS2以降でCPU41は、自動運転区間で基本的に車両が手動運転を行うと仮定して、手動運転用の案内スケジュールの作成、及び手動運転により走行を行うユーザの為の車両の走行案内を行う。
一方、自動運転スイッチがONされていると判定された場合には、自動運転区間で自動運転制御を行うことをユーザが希望しているので、後述のようにS5以降でCPU41は、自動運転区間で基本的に車両が自動運転制御を行うと仮定して、自動運転制御の制御内容の設定、及び自動運転制御により走行を行うユーザの為の車両の走行案内を行う。
先ず、S2においてCPU41は、車両の現在位置から走行予定経路に沿って進行方向前方10km分の案内スケジュールが作成されているか否かを判定する。尚、案内スケジュールは、手動運転により走行を行うユーザの為の案内を、今後どのタイミングでどのように行うかを規定したスケジュールである。ここで、図3はナビゲーション装置1において作成される案内スケジュールの一例を示した図である。
図3に示すように案内スケジュールは、手動運転を行うユーザに対して走行予定経路に沿って走行を行わせる為の運転指示や、走行中に注意すべき事項等の運転操作を補助する為の案内を、案内地点に対応付けて規定する。例えば、車両の進行方向前方にある分岐点Aで右左折する走行予定経路が設定されている場合には、分岐点Aの700m手前で「700m先を右(左)方向です」との案内を行い、分岐点Aの300m手前で「300m先を右(左)方向です」との案内を行い、分岐点Aの100m手前で「まもなく右(左)方向です」との案内を行うスケジュールが作成される。また、右折専用レーンや料金所等が近づいた場合には、それに対する警告案内を行うスケジュールが作成される。
そして、車両の現在位置から走行予定経路に沿って進行方向前方10km分の案内スケジュールが作成されていると判定された場合(S2:YES)には、S4へと移行する。それに対して、車両の現在位置から走行予定経路に沿って進行方向前方10km分の案内スケジュールが作成されていないと判定された場合(S2:NO)には、S3へと移行する。
S3においてCPU41は、地図情報や車両の走行予定経路に基づいて、車両の現在位置から走行予定経路に沿って進行方向前方10km分の案内スケジュール(図3参照)を作成する。
その後、S4においてCPU41は、作成された案内スケジュールに従って、手動運転を行うユーザに対する走行案内を行う。具体的には、車両の現在位置を検出し、案内スケジュールに記載された案内地点に車両が到達したと判定された場合に、該案内地点に対応付けられた案内音声をスピーカ16から出力する。また、液晶ディスプレイ15に案内画像を出力する構成としても良い。尚、前記S4の手動運転を行うユーザに対する走行案内については、自動運転制御を考慮しない一般的なナビゲーション装置による走行案内と同様であるので詳細は省略する。
一方、S5においてCPU41は、車両の現在位置から走行予定経路に沿って進行方向前方10km分の制御テーブル32が作成されているか否かを判定する。尚、制御テーブル32は、自動運転区間において車両に対して行われる自動運転制御の制御内容を規定したテーブルである。ここで、図4はナビゲーション装置1において作成される制御テーブル32の一例を示した図である。
図4に示すように制御テーブル32は、走行予定経路に含まれる自動運転区間(図4では走行予定経路の全体が自動運転区間とする)について、自動運転区間を構成する経路の種別を基準にして複数の区間に区分し、区間毎に自動運転制御の制御内容を規定する。尚、経路の種別としては、ICのランプ区間、合流区間、本線、JCT分岐区間、JCTのランプ区間等がある。また、制御テーブルでは区間毎に車両が取り得る行動の選択肢(以下、行動選択肢という)の数についても規定される。例えば、図4に示す例では出発地から1000mまではICのランプ区間であり、車両が取り得る行動選択肢は“直進”の1種類であり、自動運転制御の制御内容として“直進”が対応付けられている。一方、出発地から8000m離れた地点から9000mまではJCTの分岐区間であり、車両が取り得る行動選択肢は“直進”と“左への車線変更”の2種類であり、その内、自動運転制御の制御内容として“左への車線変更”が対応付けられている。
そして、車両の現在位置から走行予定経路に沿って進行方向前方10km分の制御テーブル32が作成されていると判定された場合(S5:YES)には、S7へと移行する。それに対して、車両の現在位置から走行予定経路に沿って進行方向前方10km分の制御テーブル32が作成されていないと判定された場合(S5:NO)には、S6へと移行する。
S6においてCPU41は、車両の現在位置から走行予定経路に沿って進行方向前方10km分の制御テーブル32(図4参照)を作成する。尚、制御テーブル32の作成は、地図情報と走行予定経路に基づいて作成され、作成された制御テーブル32はRAM42やフラッシュメモリ44等に記憶される。また、作成された制御テーブル32や車両の走行予定経路は、CANを介して車両制御ECU20に対して送信される。そして、車両制御ECU20は受信した走行予定経路や制御テーブル32に応じて走行中の自動運転制御を実施する。
その後、S7においてCPU41は、後述の制御内容案内処理(図5、図6)を実行する。尚、制御内容案内処理は、後述のように前記S6で作成された制御テーブル32に基づいて、自動運転制御により走行を行うユーザの為の走行案内を行う。
次に、前記S7において実行される制御内容案内処理のサブ処理について図5及び図6に基づき説明する。図5及び図6は制御内容案内処理のサブ処理プログラムのフローチャートである。
先ず、S11においてCPU41は、前記S6で作成された制御テーブル32(図4参照)をRAM42やフラッシュメモリ44から読み出すことによって取得する。
次に、S12においてCPU41は、車両の現在位置を現在位置検出部11の検出結果に基づいて取得する。尚、車両の現在位置を地図データ上で特定するマップマッチング処理についても行う。更に、車両の現在位置は、高精度ロケーション技術を用いて詳細に特定することが望ましい。ここで、高精度ロケーション技術とは、車両後方のカメラから取り込んだ白線や路面ペイント情報を画像認識により検出し、更に、白線や路面ペイント情報を予め記憶した地図情報DBと照合することにより、走行車線や高精度な車両位置を検出可能にする技術である。尚、高精度ロケーション技術の詳細については既に公知であるので省略する。
続いて、S13においてCPU41は、前記S11で取得した制御テーブル32と前記S12で取得した車両の現在位置とに基づいて、制御テーブル32において複数に区分された区間の内、車両の現在位置に対応する区間(以下、現区間という)に規定された行動選択肢の数と制御内容をそれぞれ取得する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間である場合には、現区間の行動選択肢の数として“2”が取得され、制御内容として“左へ車線変更”が取得される。
その後、S14においてCPU41は、前記S11で取得した制御テーブル32と前記S12で取得した車両の現在位置とに基づいて、制御テーブル32において複数に区分された区間の内、現区間に対して目的地側に隣接する区間(即ち、現区間の次に車両が走行する区間であり、以下、次区間という)に規定された制御内容と、車両の現在位置から次区間で行われる自動運転制御の制御開始位置までの距離をそれぞれ取得する。尚、制御開始位置までの距離は、車両の現在位置から次区間の開始位置までの距離としても良いし、車両の現在位置から実際に制御が開始される予定の位置までの距離としても良い。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間である場合には、次区間の制御内容として“直進”が取得され、制御開始位置までの距離として例えば“1500m”が取得される。
次に、S15においてCPU41は、自動運転制御が中断されたか否か判定される。ここで、本実施形態では自動運転制御で走行を行わせることが難しい状況が生じる区間については、車両の自動運転制御を中断して手動運転により走行させる中断区間に設定する。そして、車両が現時点で設定されているいずれかの中断区間に進入した場合に、自動運転制御が中断されることとなる(図15参照)。例えば、以下の(1)〜(5)のいずれかの条件に該当する区間が、中断区間として設定される。
(1)短区間(例えば500m以下)での合流や車線変更が必要となる区間。
(2)区画線(車道中央線、車線境界線、車道外側線等)が消えている又はカメラで認識できない程度まで薄くなっている区間。
(3)事故、工事、落下物等によって車線規制が生じているが、規制されている車線がどの車線かを判断できない区間。
(4)車両走行時にカメラやセンサによる検出が難しい天候又は車両制御が困難な天候(例えば、大雨、濃霧、積雪、路面凍結)となる区間。
(5)(1)〜(4)以外で過去に自動運転制御が中断されている区間。
尚、中断区間の設定は基本的に走行予定経路の設定時において行われるが、後述のように車両の走行中においても行われる。例えば、車両の進行方向前方に区画線の薄い区間や天候の悪化した区間があることを新たに検出した場合には、該区間では自動運転制御を行うことが困難であるので、該区間を中断区間に新たに設定する。また、ユーザの手動操作に基づいて自動運転制御を中断する区間を設定可能に構成しても良い。
そして、自動運転制御が中断されたと判定された場合(S15:YES)には、S16へと移行する。それに対して、自動運転制御が中断されていないと判定された場合(S15:NO)には、S19へと移行する。
S16においてCPU41は、前記S13で取得した情報に基づいて、現区間の行動選択肢の数が複数あるか否か判定する。
そして、現区間の行動選択肢の数が複数あると判定された場合(S16:YES)には、S17へと移行する。それに対して、現区間の行動選択肢の数が一のみであると判定された場合(S16:NO)には、S18へと移行する。
S17においてCPU41は、前記S13で取得した情報に基づいて、現区間に対応する制御内容を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間である場合には、図7に示すように『200m先の分岐で左車線に移動して下さい。』との案内が行われる。その結果、自動運転制御が中断され、且つ車両が取り得る行動が複数(例えば、図7に示す例では本線に沿って直進もできるし、車線変更してランプへの進入も可能である)ある場合であっても、その後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図7に示す例では左側に車線変更してJCTのランプへと進入させることが可能となる。尚、案内は音声案内により出力しても良いし、案内画像を出力する構成としても良い。
一方、S18においてCPU41は、前記S14で取得した情報に基づいて、次区間に対応する制御内容と、制御開始位置までの距離(制御内容が直進である場合は除く)を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から1000mの間である場合には、図8に示すように『1500m先で本線に合流して下さい。』との案内が行われる。その結果、自動運転制御が中断された場合であっても、その後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図8に示す例ではICのランプを走行する車両を本線へ合流させることが可能となる。
また、S19においてCPU41は、前記S11で取得した制御テーブル32に基づいて、車両の自動運転制御に係る制御が行われる所定時間前か否か判定する。尚、所定時間前とは、固定値(例えば5秒前)としても良いし、変動値(例えば音声案内の終了時に制御が開始されるタイミング)としても良い。
そして、車両の自動運転制御に係る制御が行われる所定時間前であると判定された場合(S19:YES)には、S20へと移行する。それに対して、車両の自動運転制御に係る制御が行われる所定時間前でないと判定された場合(S19:NO)には、S21へと移行する。
S20においてCPU41は、前記S13及びS14で取得した情報に基づいて、車両に対して所定時間後に行われる制御内容を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間で所定時間後に車線変更が行われるタイミングである場合には、図9に示すように『左車線に移動します。』との案内が行われる。その結果、ユーザはこれから車両で行われる自動運転制御の制御内容を把握することが可能であり、自動運転制御の実行によってユーザに不安を感じさせることが無い。
一方、S21においてCPU41は、車両の自動運転制御に係る制御が行われてから所定時間経過したタイミングであるか否か判定する。尚、所定時間経過とは、固定値(例えば制御が行われた直後)としても良いし、変動値としても良い。
そして、車両の自動運転制御に係る制御が行われてから所定時間経過したタイミングであると判定された場合(S21:YES)には、S22へと移行する。それに対して、車両の自動運転制御に係る制御が行われてから所定時間経過したタイミングでないと判定された場合(S21:NO)には、S23へと移行する。
S22においてCPU41は、前記S13及びS14で取得した情報に基づいて、車両に対して次に行われる制御内容と、制御開始位置までの距離(制御内容が直進である場合は除く)を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間で車線変更が行われてから所定時間経過後のタイミングである場合には、図10に示すように『この車線を直進します。』との案内が行われる。その結果、ユーザは次に車両で行われる自動運転制御の制御内容を事前に把握することが可能であり、その後の自動運転制御の実行によってユーザに不安を感じさせることが無い。
また、図6のS23においてCPU41は、車両の現在位置と制御テーブル32とに基づいて、車両が制御テーブル32に規定された区間の境界を通過したか否か判定する。例えば、図4に示す制御テーブル32が取得された場合には、出発地から1000m、1500m、8000m、9000m、9500mの各地点を通過したか否か判定されることとなる。
そして、車両が制御テーブル32に規定された区間の境界を通過したと判定された場合(S23:YES)には、S24へと移行する。それに対して、車両が制御テーブル32に規定された区間の境界を通過していないと判定された場合(S23:NO)には、S28へと移行する。
S24においてCPU41は、前記S13で取得した情報に基づいて、車両が新たに進入した現区間の行動選択肢の数が複数あるか否か判定する。
そして、現区間の行動選択肢の数が複数あると判定された場合(S24:YES)には、S25へと移行する。それに対して、現区間の行動選択肢の数が一のみであると判定された場合(S24:NO)には、S26へと移行する。
S25においてCPU41は、前記S13で取得した情報に基づいて、車両が新たに進入した現区間に対応する制御内容を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000mに到達した場合には、図11に示すように『300m先の分岐で左車線に移動します。』との案内が行われる。その結果、仮に自動運転制御が今後中断された場合であって、且つ車両が取り得る行動が複数(例えば、図11に示す例では本線に沿って直進もできるし、車線変更してランプへの進入も可能である)ある場合であっても、中断後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図11に示す例では左側に車線変更してJCTのランプへと進入させることが可能となる。
一方、S26においてCPU41は、前記S14で取得した情報に基づいて、次区間に対応する制御内容と、制御開始位置までの距離(制御内容が直進である場合は除く)を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から1000mに到達した場合には、図12に示すように『800m先で本線に合流します。』との案内が行われる。その結果、仮に自動運転制御が今後中断された場合であっても、中断後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図12に示す例ではICのランプを走行する車両を本線へ合流させることが可能となる。
次に、S27においてCPU41は、RAM42に格納された定期通知用フラグと定期通知用タイマTをそれぞれ読み出す。そして、定期通知用フラグは“ON”に設定し、定期通知用タイマTは“0”に設定する。尚、後述のように定期通知用フラグは、自動運転制御の中断の有無や車両の現在位置に関わらず、所定時間(例えば1分)が経過する度に車両に対して次回以降に行われる自動運転制御の制御内容を案内(以下、定期案内という)する状態にあるか否かを示すフラグであり、後述のように定期通知用フラグが“ON”に設定されている状態において上記定期案内が行われることとなる。また、定期通知用タイマTは、上記定期案内が行われる間隔を計測するタイマである。
一方、S28においてCPU41は、RAM42から定期通知用タイマTを読み出し、100ms(即ち当該自動運転案内処理プログラムの実施間隔)を加算する。
次に、S29においてCPU41は、RAM42から定期通知用フラグと定期通知用タイマTをそれぞれ読み出し、定期通知用フラグが“ON”状態であって、且つ定期通知用タイマTが1分以上であるか否か判定する。尚、前記S29の判定基準となる時間は、定期案内が行われる間隔となる。本実施形態では1分とするが、1分以外の時間を規定しても良い。
そして、定期通知用フラグが“ON”状態であって、且つ定期通知用タイマTが1分以上であると判定された場合(S29:YES)には、S30へと移行する。それに対して、定期通知用フラグが“ON”状態でない、又は定期通知用タイマTが1分未満であると判定された場合(S29:NO)には、案内を行うことなく当該自動運転案内処理プログラムを終了する。
S30においてCPU41は、前記S13で取得した情報に基づいて、現区間の行動選択肢の数が複数あるか否か判定する。
そして、現区間の行動選択肢の数が複数あると判定された場合(S30:YES)には、S31へと移行する。それに対して、現区間の行動選択肢の数が一のみであると判定された場合(S30:NO)には、S32へと移行する。
S31においてCPU41は、前記S13で取得した情報に基づいて、現区間に対応する制御内容を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から8000m〜9000mの間である場合には、図13に示すように『○○m先の分岐で左車線に移動します。』との案内が1分間隔で繰り返し行われる。その結果、仮に自動運転制御が今後中断された場合であって、且つ車両が取り得る行動が複数(例えば、図13に示す例では本線に沿って直進もできるし、車線変更してランプへの進入も可能である)ある場合であっても、中断後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図13に示す例では左側に車線変更してJCTのランプへと進入させることが可能となる。その後、S34へと移行する。
一方、S32においてCPU41は、車両の現在位置と制御テーブル32とに基づいて、車両の現在位置から次に行われる自動運転制御の制御開始位置までの距離が2km以下か否か判定する。
そして、車両の現在位置から次に行われる自動運転制御の制御開始位置までの距離が2km以下であると判定された場合(S32:YES)には、S33へと移行する。それに対して、車両の現在位置から次に行われる自動運転制御の制御開始位置までの距離が2kmより長いと判定された場合(S32:NO)には、案内を行うことなくS34へと移行する。従って、区間の境界を通過した時又は前回の案内が行われた時から1分が経過した場合であっても、車両の行動選択肢が一のみの状態では案内は行われないこととなる(但し、S15、S19、S21、S23、S32の各判定条件に該当した場合は除く)。
S33においてCPU41は、前記S14で取得した情報に基づいて、次区間に対応する制御内容と、制御開始位置までの距離(制御内容が直進である場合は除く)を案内する。例えば、図4に示す制御テーブル32が取得された場合であって、且つ車両の現在位置が出発地から1000mの間である場合には、図14に示すように『○○m先で本線に合流します。』との案内が1分間隔で繰り返し行われる。その結果、仮に自動運転制御が今後どのようなタイミングで中断された場合であっても、中断後のユーザによる運転操作を適切に行わせることが可能となる。即ち、図14に示す例ではICのランプを走行する車両を本線へ合流させることが可能となる。
その後、S34においてCPU41は、RAM42から定期通知用タイマTを読み出して“0”を代入し、当該自動運転案内処理プログラムを終了する。
続いて、本実施形態に係るナビゲーション装置1においてCPU41が実行する自動運転制御処理プログラムについて図15に基づき説明する。図15は本実施形態に係る自動運転制御処理プログラムのフローチャートである。ここで、自走運転制御処理プログラムは、車両の走行予定経路(案内経路)が決定された後において所定間隔(例えば100ms間隔)で実行され、自動運転制御の継続判定や中断区間の設定等を行うプログラムである。
先ず、自動運転制御処理プログラムではS41において、CPU41は、自動運転開始ボタンがONされているか否かを判定する。ここで、自動運転開始ボタンは、インストルメントパネル等に配置され、ユーザが押下する度にONとOFFが切り換わる。そして、自動運転区間(但し中断区間に設定された区間は除く)を車両が走行する状態でONされると自動運転制御が開始され、一方で自動運転制御の実行中にOFFされると自動運転区間の走行中であっても自動運転制御は終了し、手動運転へと切り替わる。
そして、自動運転開始ボタンがONされていると判定された場合(S41:YES)には、S44へと移行する。それに対して、自動運転開始ボタンがONされていないと判定された場合(S41:NO)には、S42へと移行する。
S42においてCPU41は、車両における自動運転制御が実行中であるか否かを判定する。
そして、車両における自動運転制御が実行中であると判定された場合(S42:YES)には、S43へと移行する。それに対して、車両における自動運転制御が実行中でないと判定された場合(S42:NO)には、当該自動運転制御処理プログラムを終了する。
S43においてCPU41は、自動運転制御の終了処理を実行する。具体的には、CANを介して車両制御ECU20に対して自動運転制御を終了する旨の指示信号を送信する。その結果、車両において自動運転制御が終了し、手動運転へと切り替わる。
一方、S44においてCPU41は、現在位置検出部11により検出した車両の現在位置と地図情報に基づいて、車両が自動運転区間内にあるか否かを判定する。尚、車両の現在位置は、高精度ロケーション技術を用いて詳細に特定することが望ましい。
そして、車両が自動運転区間内にあると判定された場合(S44:YES)には、S45へと移行する。それに対して、車両が自動運転区間内にないと判定された場合(S44:NO)には、S42へと移行する。
S45においてCPU41は、後述の中断区間の検出処理(図16)を実行する。尚、中断区間の検出処理は、後述のように車両の走行中において車外カメラ19やセンサ等を用い、既に中断区間に設定された区間外で自動運転制御で走行を行わせることが難しい状況が生じる区間の検出を行い、新たに中断区間に設定する処理である。
次に、S46においてCPU41は、自動運転制御の中断中であるか否かを判定する。前記したように車両が自動運転区間内を走行中であっても、設定された中断区間内に車両が位置する場合には、車両の自動運転制御は中断され手動運転による走行が行われる。
そして、自動運転制御の中断中であると判定された場合(S46:YES)には、S49へと移行する。それに対して、自動運転制御が中断中でないと判定された場合(S46:NO)には、S47へと移行する。
S47においてCPU41は、車両が中断区間に進入したか否かを判定する。尚、中断区間は、走行予定経路の設定時や後述の中断区間の検出処理(図16)において設定される。
そして、車両が中断区間に進入したと判定された場合(S47:YES)には、S48へと移行する。そして、S48においてCPU41は、自動運転制御の中断処理を実行する。具体的には、CANを介して車両制御ECU20に対して自動運転制御を一時的に中断する旨の指示信号を送信する。その結果、車両において自動運転制御が一時的に中断し、手動運転へと切り替わる。一方、車両が中断区間に進入していないと判定された場合(S47:NO)には、継続して自動運転制御を行う。
一方、S49においてCPU41は、車両が中断区間を退出したか否かを判定する。
そして、車両が中断区間を退出したと判定された場合(S49:YES)には、S50へと移行する。そして、S50においてCPU41は、自動運転制御の再開処理を実行する。具体的には、CANを介して車両制御ECU20に対して中断されていた自動運転制御を再開する旨の指示信号を送信する。その結果、車両において中断されていた自動運転制御を再開し、手動運転から自動運転制御へと切り替わる。一方、車両が中断区間を退出していないと判定された場合(S49:NO)には、自動運転制御の中断を継続する。
次に、前記S45において実行される中断区間の検出処理のサブ処理について図16に基づき説明する。図16は中断区間の検出処理のサブ処理プログラムのフローチャートである。
先ず、S51においてCPU41は、車両の現在位置を現在位置検出部11の検出結果に基づいて取得する。尚、車両の現在位置は、高精度ロケーション技術を用いて詳細に特定することが望ましい。
次に、S52においてCPU41は、車両の進行方向前方の経路情報を取得する。例えば、車両の現在位置から走行予定経路に沿って1km内の経路情報を取得する。
続いて、S53においてCPU41は、他車両の自動運転制御の中断履歴が記憶された外部サーバやVICSセンタ等の交通情報サーバと接続されているか否かを判定する。
そして、他車両の自動運転制御の中断履歴が記憶された外部サーバやVICSセンタ等の交通情報サーバと接続されていると判定された場合(S53:YES)には、該サーバから前記S52で経路情報を取得した車両の進行方向前方の区間(以下、検出対象区間という)における最新の自動運転制御の中断履歴や最新の交通情報を取得する(S54)。一方、他車両の自動運転制御の中断履歴が記憶された外部サーバやVICSセンタ等の交通情報サーバと接続されていないと判定された場合(S53:NO)には、S55へと移行する。
S55においてCPU41は、車両の外部環境を検出する為のカメラやセンサ等が接続されているか否かを判定する。尚、センサとしては、例えば障害物を検出する為のミリ波レーダ、降雨や積雪を検出する為の降雨センサや照度センサ等がある。
そして、車両の外部環境を検出する為のカメラやセンサ等が接続されていると判定された場合(S55:YES)には、接続されたカメラやセンサを用いて、車両周辺の外部環境を検出する(S56)。一方、車両の外部環境を検出する為のカメラやセンサ等が接続されていないと判定された場合(S55:NO)には、S57へと移行する。
続いて、S57においてCPU41は、前記S54で取得した中断履歴や交通情報及び前記S56で検出された外部環境に基づいて、前記S52で経路情報を取得した車両の進行方向前方の区間の内、既に中断区間に設定されている区間を除いて、自動運転制御で走行を行わせることが難しい状況が生じる区間が存在するか否か判定する。そして、自動運転制御で走行を行わせることが難しい状況が生じる区間が存在すると判定した場合に、該区間を中断区間として新たに特定する。尚、前記S57で特定される中断区間は、経路探索時には特定できなかったが、車両が現地に到達することによって初めて特定することができる中断区間であり、例えば、以下の(6)〜(9)のいずれかの条件に該当する区間が、中断区間として特定される。
(6)走行予定経路の設定時には中断履歴が存在しなかったが、車両が現地に到着するまでの間に他車両が自動運転制御を中断することによって中断履歴が新たに生じた区間。
(7)走行予定経路の設定後に事故、工事、落下物等によって車線規制が新たに生じ、規制されている車線がどの車線かを判断できない区間。
(8)カメラで路面を撮像することによって、区画線(車道中央線、車線境界線、車道外側線等)が消えている又はカメラで認識できない程度まで薄くなっていることが新たに検出された区間。
(9)走行予定経路の設定時には予測できなかったが、カメラやセンサによる検出が難しい天候又は車両制御が困難な天候(例えば、大雨、濃霧、積雪、路面凍結)となった区間。
その後、CPU41は、新たに特定された中断区間に応じて自動運転制御の制御を行う。また、新たに特定された中断区間に応じて前述した走行案内(図5のS17、S18)についても実施される。従って、不意にユーザが手動運転を行う必要が生じた場合であっても、ユーザは次に行うべき運転操作を把握することができる。
以上詳細に説明した通り、本実施形態に係るナビゲーション装置1、ナビゲーション装置1による自動運転支援方法及びナビゲーション装置1で実行されるコンピュータプログラムでは、車両の自動運転制御が行われる自動運転区間を走行する場合に、該自動運転区間における車両の自動運転制御の制御内容を規定した制御テーブル32を取得し(S11)、取得された制御テーブル32に従って、車両が自動運転区間を自動運転制御により走行する間において、車両に対して次回以降に行われる自動運転制御の制御内容を、所定間隔で繰り返し案内する(S17、S18、S20、S22、S25、S26、S31、S33)ので、自動運転制御の中断が生じることによってユーザが手動運転を行う必要が生じた場合であっても、ユーザに対して次に行うべき運転操作を確実に把握させることが可能となる。その結果、どのようなタイミングで自動運転制御の中断が生じた場合であっても、その後のユーザによる運転操作を適切に行わせることが可能となる。
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、制御テーブル32で区分された区間の内、車両が現在位置する区間又は次の区間に対して規定された自動運転制御の制御内容を案内する構成としているが、更に先の区間に対して規定された自動運転制御の制御内容についても案内する構成としても良い。
また、本実施形態では車両が位置する区間の行動選択肢が一のみの状態であってもS15、S19、S21、S23、S32の各判定条件に該当した場合は車両の走行案内を実施する構成としているが、S15、S19、S21、S23、S32の各判定条件に該当した場合であっても、車両が位置する区間の行動選択肢が一のみの状態では車両の走行案内を行わないように構成しても良い。
また、本実施形態では、ナビゲーション装置1が制御テーブル32を作成する構成としているが、車両制御ECU20が作成する構成としても良い。
また、本実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ECU20が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転制御として説明してきた。しかし、自動運転制御を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ECU20が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
また、本実施形態では、自動運転案内処理プログラム(図2)や自動運転制御プログラム(図15)をナビゲーション装置1が実行する構成としているが、車両制御ECU20が実行する構成としても良い。その場合には、車両制御ECU20は車両の現在位置や地図情報や交通情報等をナビゲーション装置1から取得する構成とする。
また、本発明はナビゲーション装置以外に、走行案内の機能を有する装置に対して適用することが可能である。例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等(以下、携帯端末等という)に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転案内処理プログラム(図2)や自動運転制御プログラム(図15)の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転制御が実行可能な車両と携帯端末等が通信可能に接続(有線無線は問わない)される必要がある。
また、本発明に係る自動運転支援システムを具体化した実施例について上記に説明したが、自動運転支援システムは以下の構成を有することも可能であり、その場合には以下の効果を奏する。
例えば、第1の構成は以下のとおりである。
制御案内手段は、所定時間が経過する度、前記車両が現在位置する区間に対応する自動運転制御の制御内容に係る制御が行われる所定時間前、前記車両が現在位置する区間に対応する自動運転制御の制御内容に係る制御が行われた所定時間後、車両の行動選択肢が複数となった時点、及び自動運転制御が中断された時点のいずれか一又は複数のタイミングにおいて案内を行うことを特徴とする。
上記構成を有する自動運転支援システムによれば、車両の自動運転制御の内容が切り換わるタイミングや、車両の走行する経路の種別が変化するタイミングや、何らかの車両制御が実施されるタイミング等のユーザに対して案内を行うことが有効なタイミングで、車両に対して次回以降に行われる自動運転制御の制御内容を案内することが可能となる。また、所定時間が経過する度に定期的に案内することとすれば、どのようなタイミングで自動運転制御の中断が生じた場合であっても、その後のユーザによる運転操作を適切に行わせることが可能となる。また、自動運転制御に係る制御が行われる所定時間前に案内することとすれば、ユーザはこれから車両で行われる自動運転制御の制御内容を把握することが可能であり、自動運転制御の実行によってユーザに不安を感じさせることが無い。
また、第2の構成は以下のとおりである。
前記制御案内手段は、前記車両が現在位置する区間に対応する自動運転制御の制御内容に係る制御を完了する前においても、前記車両の行動選択肢が一のみの場合には、次に通過する区間に対応する自動運転制御の制御内容を案内することを特徴とする。
上記構成を有する自動運転支援システムによれば、ユーザに対する案内が不要な状態、即ち、自動運転制御の中断が生じた場合でも他に行動選択肢が無く、ユーザが次に行うべき運転操作を間違える虞が無い状況では次に通過する区間に関する案内するように構成することが可能となる。そして、不要な案内を行わないことによって制御負担を軽減することが可能であり、ユーザに煩わしさを感じさせることが無い。
また、第3の構成は以下のとおりである。
制御内容取得手段は、自動運転区間を複数の区間に区分するとともに、各区間を走行する車両の行動選択肢の数と各区間において実行される車両の自動運転制御の制御内容が対応付けて記録されたテーブルを取得することを特徴とする。
上記構成を有する自動運転支援システムによれば、テーブルを参照することによって、ユーザに対して案内を行うことが有効なタイミングを正確に特定することが可能となる。