以下、本発明に係る運転支援装置をナビゲーション装置1に具体化した第1実施形態及び第2実施形態について図面を参照しつつ詳細に説明する。
[第1実施形態]
先ず、第1実施形態に係るナビゲーション装置1を含む運転支援システム2の概略構成について図1及び図2を用いて説明する。図1は第1実施形態に係る運転支援システム2を示した概略構成図である。図2は第1実施形態に係る運転支援システム2の構成を示したブロック図である。
図1に示すように、第1実施形態に係る運転支援システム2は、情報配信センタ3が備えるサーバ装置4と、車両5に搭載されて車両5の自動運転に関する各種支援を行うナビゲーション装置1と、を基本的に有する。また、サーバ装置4とナビゲーション装置1は通信ネットワーク網6を介して互いに電子データを送受信可能に構成されている。尚、ナビゲーション装置1の代わりに、車両5に搭載された他の車載器や車両5に関する制御を行う車両制御装置を用いても良い。
ここで、車両5はユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路や道なりに沿って自動的に走行を行う自動運転支援による支援走行が可能な車両とする。
また、自動運転支援は全ての道路区間に対して行っても良いし、特定の道路区間(例えば境界にゲート(有人無人、有料無料は問わない)が設けられた高速道路)を車両が走行する間のみ行う構成としても良い。以下の説明では車両の自動運転支援が行われる自動運転区間は、一般道や高速道路を含む全ての道路区間に加えて駐車場も含むこととし、車両が走行を開始してから走行を終了するまで(車両を駐車するまで)の間において基本的に自動運転支援が行われるとして説明する。但し、車両が自動運転区間を走行する場合には必ず自動運転支援が行われるのではなく、ユーザにより自動運転支援を行うことが選択され(例えば自動運転開始ボタンをONする)、且つ自動運転支援による走行を行わせることが可能と判定された状況でのみ行うのが望ましい。一方で、車両5は自動運転支援による支援走行のみ可能な車両としても良い。
そして、自動運転支援における車両制御では、例えば、車両の現在位置、車両が走行する車線、周辺の障害物の位置を随時検出し、後述のようにナビゲーション装置1で生成された走行軌道に沿って、同じく生成された速度計画に従った速度で走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、第1実施形態の自動運転支援による支援走行では、車線変更や右左折や駐車操作についても上記自動運転支援による車両制御を行うことにより走行するが、車線変更や右左折や駐車操作等の特殊な走行については自動運転支援による走行は行わずに手動運転により行う構成としても良い。
一方、ナビゲーション装置1は、車両5に搭載され、ナビゲーション装置1が有する地図データ或いは外部から取得した地図データに基づいて自車位置周辺の地図を表示したり、ユーザの目的地の入力を行ったり、地図画像上において車両の現在位置を表示したり、設定された案内経路に沿った移動案内を行う車載機である。第1実施形態では特に自動運転支援による支援走行を車両が行う場合に、自動運転支援に関する各種支援情報を生成する。支援情報としては例えば車両の走行が推奨される走行軌道(推奨される車線移動態様を含む)、目的地において車両を駐車する駐車スペース、走行する際の車速を示す速度計画等がある。尚、ナビゲーション装置1の詳細については後述する。
また、サーバ装置4は、ナビゲーション装置1の要求に応じて経路探索の実行を行うことも可能である。具体的には、ナビゲーション装置1からサーバ装置4へと出発地や目的地等の経路探索に必要な情報が経路探索要求とともに送信される(但し、再探索の場合には目的地に関する情報は必ずしも送信する必要は無い)。そして経路探索要求を受信したサーバ装置4は、サーバ装置4の有する地図情報を用いて経路探索を行い、出発地から目的地までの推奨経路を特定する。その後、特定された推奨経路を要求元のナビゲーション装置1へと送信する。そして、ナビゲーション装置1は受信した推奨経路に関する情報をユーザに提供したり、推奨経路を使って後述のように自動運転支援に関する各種支援情報を生成することも可能である。
更に、サーバ装置4は、上記経路探索に用いる通常の地図情報とは別に、より精度の高い地図情報である高精度地図情報を有している。高精度地図情報は、例えば道路のレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。また、その他に交差点に関する情報、駐車場に関する情報等も含まれる。そして、サーバ装置4はナビゲーション装置1からの要求に応じて高精度地図情報を配信し、ナビゲーション装置1はサーバ装置4から配信された高精度地図情報を用いて後述のように自動運転支援に関する各種支援情報を生成する。尚、高精度地図情報は基本的に道路(リンク)及びその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。
但し、上述した経路探索処理については必ずしもサーバ装置4で行う必要は無く、地図情報を有するナビゲーション装置1であればナビゲーション装置1で行っても良い。また、高精度地図情報についてもサーバ装置4から配信されるのではなくナビゲーション装置1が予め有するようにしても良い。
また、通信ネットワーク網6は全国各地に配置された多数の基地局と、各基地局を管理及び制御する通信会社とを含み、基地局及び通信会社を有線(光ファイバー、ISDN等)又は無線で互いに接続することにより構成されている。ここで、基地局はナビゲーション装置1との通信をするトランシーバー(送受信機)とアンテナを有する。そして、基地局は通信会社の間で無線通信を行う一方、通信ネットワーク網6の末端となり、基地局の電波が届く範囲(セル)にあるナビゲーション装置1の通信をサーバ装置4との間で中継する役割を持つ。
続いて、運転支援システム2におけるサーバ装置4の構成について図2を用いてより詳細に説明する。サーバ装置4は、図2に示すようにサーバ制御部11と、サーバ制御部11に接続された情報記録手段としてのサーバ側地図DB12と、高精度地図DB13と、サーバ側通信装置14とを備える。
サーバ制御部11は、サーバ装置4の全体の制御を行う制御ユニット(MCU、MPU等)であり、演算装置及び制御装置としてのCPU21、並びにCPU21が各種の演算処理を行うにあたってワーキングメモリとして使用されるRAM22、制御用のプログラム等が記録されたROM23、ROM23から読み出したプログラムを記憶するフラッシュメモリ24等の内部記憶装置を備えている。尚、サーバ制御部11は、後述のナビゲーション装置1のECUとともに処理アルゴリズムとしての各種手段を有する。
一方、サーバ側地図DB12は、外部からの入力データや入力操作に基づいて登録された最新のバージョンの地図情報であるサーバ側地図情報が記憶される記憶手段である。ここで、サーバ側地図情報は、道路網を始めとして経路探索、経路案内及び地図表示に必要な各種情報から構成されている。例えば、道路網を示すノード及びリンクを含むネットワークデータ、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、各交差点に関する交差点データ、施設等の地点に関する地点データ、地図を表示するための地図表示データ、経路を探索するための探索データ、地点を検索するための検索データ等からなる。
また、高精度地図DB13は、上記サーバ側地図情報よりも精度の高い地図情報である高精度地図情報15が記憶される記憶手段である。高精度地図情報15は、特に車両が走行対象となる道路や駐車場等に関してより詳細な情報を格納した地図情報であり、第1実施形態では例えば道路のレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。また、更に高精度地図DB13としては、道路を構成する各リンクに関してリンクの属する道路の幅員、勾(こう)配、カント、バンク、路面の状態、ノード間のリンク形状(例えばカーブ道路ではカーブの形状)を特定する為の形状補完点データ、合流区間、道路構造、道路の車線数、車線数の減少する箇所、幅員の狭くなる箇所、踏切等を表すデータが、コーナに関して、曲率半径、交差点、T字路、コーナの入口及び出口等を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。特に第1実施形態では、道路の車線数に加えて、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報についても記憶されている。更に、道路に設定されている制限速度についても記憶されている。また、高精度地図情報は基本的に道路(リンク)及びその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。また、図2に示す例ではサーバ側地図DB12に格納されるサーバ側地図情報と高精度地図情報15とは異なる地図情報としているが、高精度地図情報15はサーバ側地図情報の一部としても良い。
一方、サーバ側通信装置14は各車両5のナビゲーション装置1と通信ネットワーク網6を介して通信を行う為の通信装置である。また、ナビゲーション装置1以外にインターネット網や、交通情報センタ、例えば、VICS(登録商標:Vehicle Information and Communication System)センタ等から送信された渋滞情報、規制情報、交通事故情報等の各情報から成る交通情報の受信についても可能である。
次に、車両5に搭載されたナビゲーション装置1の概略構成について図3を用いて説明する。図3は第1実施形態に係るナビゲーション装置1を示したブロック図である。
図3に示すように第1実施形態に係るナビゲーション装置1は、ナビゲーション装置1が搭載された車両の現在位置を検出する現在位置検出部31と、各種のデータが記録されたデータ記録部32と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU33と、ユーザからの操作を受け付ける操作部34と、ユーザに対して車両周辺の地図やナビゲーション装置1で設定されている案内経路(車両の走行予定経路)に関する情報等を表示する液晶ディスプレイ35と、経路案内に関する音声ガイダンスを出力するスピーカ36と、記憶媒体であるDVDを読み取るDVDドライブ37と、プローブセンタやVICSセンタ等の情報センタとの間で通信を行う通信モジュール38と、を有する。また、ナビゲーション装置1はCAN等の車載ネットワークを介して、ナビゲーション装置1の搭載された車両に対して設置された車外カメラ39や各種センサが接続されている。更に、ナビゲーション装置1の搭載された車両に対する各種制御を行う車両制御ECU40とも双方向通信可能に接続されている。
以下に、ナビゲーション装置1が有する各構成要素について順に説明する。
現在位置検出部31は、GPS41、車速センサ42、ステアリングセンサ43、ジャイロセンサ44等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ42は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU33に出力する。そして、ナビゲーションECU33は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサをナビゲーション装置1が全て備える必要はなく、これらの内の1又は複数種類のセンサのみをナビゲーション装置1が備える構成としても良い。
また、データ記録部32は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記録された地図情報DB45やキャッシュ46や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部32をハードディスクの代わりにフラッシュメモリやメモリーカードやCDやDVD等の光ディスクを有しても良い。また、第1実施形態では上述したようにサーバ装置4において目的地までの経路を探索するので、地図情報DB45については省略しても良い。地図情報DB45を省略した場合であっても、必要に応じてサーバ装置4から地図情報を取得することも可能である。
ここで、地図情報DB45は、例えば、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、経路の探索や変更に係る処理に用いられる探索データ、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
一方、キャッシュ46は、過去にサーバ装置4から配信された高精度地図情報15が保管される記憶手段である。保管する期間は適宜設定可能であるが、例えば記憶されてから所定期間(例えば1カ月)としても良いし、車両のACC電源(accessory power supply)がOFFされるまでとしても良い。また、キャッシュ46に格納されるデータ量が上限となった後に古いデータから順次削除するようにしても良い。そして、ナビゲーションECU33は、キャッシュ46に格納された高精度地図情報15を用いて、自動運転支援に関する各種支援情報を生成する。詳細については後述する。
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)33は、ナビゲーション装置1の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU51、並びにCPU51が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM52、制御用のプログラムのほか、後述の自動運転支援プログラム(図4参照)等が記録されたROM53、ROM53から読み出したプログラムを記憶するフラッシュメモリ54等の内部記憶装置を備えている。尚、ナビゲーションECU33は、処理アルゴリズムとしての各種手段を有する。例えば、レーンネットワーク取得手段は、所定区間内の車両が選択し得る車線移動についてノードとノード間を繋ぐリンクによって示したレーンネットワークを取得する。道路状況取得手段は、車両周辺の所定の検出範囲における道路状況を取得する。ネットワーク再構築手段は、道路状況を用いて所定区間内に車両の走行に影響が生じる要因が存在することを検出した場合に、要因を回避する為の回避ノードをレーンネットワーク上に追加し、レーンネットワークを再構築する。ルート探索手段は、再構築された後のレーンネットワークに付加されたコストを用いて、所定区間の始点に位置する出発ノードから所定区間の終点に位置する目的ノードまで要因を回避したルートを探索する。走行軌道生成手段は、ルートを用いて車両の走行軌道を生成する。運転支援手段は、走行軌道に基づいて車両の運転支援を行う。
操作部34は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)を有する。そして、ナビゲーションECU33は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部34は液晶ディスプレイ35の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
また、液晶ディスプレイ35には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、案内経路(走行予定経路)に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ35の代わりに、HUDやHMDを用いても良い。
また、スピーカ36は、ナビゲーションECU33からの指示に基づいて案内経路(走行予定経路)に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
また、DVDドライブ37は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報DB45の更新等が行われる。尚、DVDドライブ37に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
また、通信モジュール38は、交通情報センタ、例えば、VICSセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。また、サーバ装置4で探索された経路情報や高精度地図情報15をサーバ装置4との間で送受信するのにも用いられる。
また、車外カメラ39は、例えばCCD等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ39は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、ナビゲーションECU33は撮像された撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等の障害物を検出し、検出結果に基づいて自動運転支援に関する各種支援情報を生成する。例えば、障害物を検出した場合には、障害物を回避或いは追従して走行する新たな走行軌道を生成する。尚、車外カメラ39は車両前方以外に後方や側方に配置するように構成しても良い。また、障害物を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
また、車両制御ECU40は、ナビゲーション装置1が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ECU40にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、第1実施形態では特に車両において自動運転支援が開始された後に、各駆動部を制御することにより車両の自動運転支援を実施する。また、自動運転支援中にユーザによってオーバーライドが行われた場合には、オーバーライドが行われたことを検出する。
ここで、ナビゲーションECU33は、走行開始後にCANを介して車両制御ECU40に対してナビゲーション装置1で生成された自動運転支援に関する各種支援情報を送信する。そして、車両制御ECU40は受信した各種支援情報を用いて走行開始後の自動運転支援を実施する。支援情報としては例えば車両の走行が推奨される走行軌道、走行する際の車速を示す速度計画等がある。
続いて、上記構成を有する第1実施形態に係るナビゲーション装置1においてCPU51が実行する自動運転支援プログラムについて図4に基づき説明する。図4は第1実施形態に係る自動運転支援プログラムのフローチャートである。ここで、自動運転支援プログラムは、車両のACC電源(accessory power supply)がONされた後であって自動運転支援による車両の走行が開始された場合に実行され、ナビゲーション装置1で生成された支援情報に従って自動運転支援による支援走行を実施するプログラムである。また、以下の図4、図6、図14及び図20にフローチャートで示されるプログラムは、ナビゲーション装置1が備えているRAM52やROM53に記憶されており、CPU51により実行される。
先ず、自動運転支援プログラムではステップ(以下、Sと略記する)1において、CPU51は、車両が今後走行する予定にある経路(以下、走行予定経路という)を取得する。尚、車両の走行予定経路は、例えばユーザが目的地を設定することによってサーバ装置4により探索された目的地までの推奨経路とする。尚、目的地が設定されていない場合には、車両の現在位置から道なりに走行する経路を走行予定経路としても良い。
また、推奨経路の探索を行う場合に先ずCPU51は、サーバ装置4に対して経路探索要求を送信する。尚、経路探索要求には、経路探索要求の送信元のナビゲーション装置1を特定する端末IDと、出発地(例えば車両の現在位置)及び目的地を特定する情報と、が含まれている。尚、再探索時については目的地を特定する情報は必ずしも必要では無い。その後、CPU51は経路探索要求に応じてサーバ装置4から送信された探索経路情報を受信する。探索経路情報は、送信した経路探索要求に基づいてサーバ装置4が最新のバージョンの地図情報を用いて探索した出発地から目的地までの推奨経路(センタールート)を特定する情報(例えば推奨経路に含まれるリンク列)である。例えば公知のダイクストラ法を用いて探索される。
尚、上記推奨経路の探索では、目的地において駐車場で車両を駐車する為に推奨される駐車スペースを選択し、選択された駐車スペースまでの推奨経路を探索するのが望ましい。即ち、探索される推奨経路には駐車場までの経路に加えて駐車場内での車の移動を示す経路についても含むのが望ましい。また、駐車スペースの選択については、駐車スペースまでの車両の移動に加えて車両を駐車した後の徒歩の移動も考慮してユーザの負担が軽くなる駐車スペースを選択するのが望ましい。
次に、S2においてCPU51は、車両の現在位置から前記S1で取得された走行予定経路に沿った所定距離以内の区間を対象として高精度地図情報15を取得する。例えば車両が現在位置する2次メッシュに含まれる走行予定経路を対象として高精度地図情報15を取得する。但し、高精度地図情報15を取得する対象となるエリアは適宜変更可能であり、例えば車両の現在位置から走行予定経路に沿って3km以内のエリアの高精度地図情報15を取得するようにしても良い。また、走行予定経路の全体を対象として高精度地図情報15を取得しても良い。
ここで、高精度地図情報15は図5に示すように矩形形状(例えば500m×1km)に区分されてサーバ装置4の高精度地図DB13に格納されている。従って、例えば図5に示すように走行予定経路61が取得された場合には、車両の現在位置を含む2次メッシュ内にある走行予定経路61を含むエリア62~64を対象として高精度地図情報15が取得される。高精度地図情報15には例えば道路のレーン形状と車線幅と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。また、その他に交差点に関する情報、駐車場に関する情報等も含まれる。
また、高精度地図情報15は基本的にサーバ装置4から取得されるが、キャッシュ46に既に格納されているエリアの高精度地図情報15が存在する場合には、キャッシュ46から取得する。また、サーバ装置4から取得された高精度地図情報15はキャッシュ46に一旦格納される。
その後、S3においてCPU51は、後述の静的走行軌道生成処理(図6)を実行する。ここで、静的走行軌道生成処理は、車両の走行予定経路と前記S2で取得した高精度地図情報15とに基づいて、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道を生成する処理である。特に、CPU51は走行予定経路に含まれる車線単位で車両に走行が推奨される走行軌道を静的走行軌道として特定する。尚、静的走行軌道は後述のように車両の現在位置から進行方向に沿って所定距離前方までの区間(例えば車両が現在位置する2次メッシュ内、或いは目的地までの全区間)を対象として生成される。尚、所定距離については適宜変更可能であるが、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)外を含む領域を対象として静的走行軌道を生成する。
次に、S4においてCPU51は、前記S2で取得した高精度地図情報15に基づいて、前記S3で生成された静的走行軌道を走行する際の車両の速度計画を生成する。例えば、制限速度情報や走行予定経路上にある速度変化地点(例えば交差点、カーブ、踏切、横断歩道など)を考慮して、静的走行軌道を走行する際に推奨される車両の走行速度を算出する。
そして、前記S4で生成された速度計画は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。また、前記S4で生成された速度計画を実現する為に必要な車両の加減速を示す加速度の計画についても自動運転支援に用いる支援情報として生成するようにしても良い。
続いて、S5においてCPU51は、車外カメラ39で撮像された撮像画像に対して画像処理を行うことによって、周辺の道路状況として、特に自車両の周辺に自車両の走行に影響が生じる要因が存在するか否かを判定する。ここで、前記S5で判定対象となる“自車両の走行に影響が生じる要因”は、リアルタイムで変化する動的な要因とし、道路構造に基づくような静的な要因は除かれる。例えば、自車両の進行方向前方を走行又は駐車する他車両、自車両の進行方向前方に位置する歩行者、自車両の進行方向前方にある工事区間等が該当する。一方で、交差点、カーブ、踏切、合流区間、車線減少区間等は除かれる。また、他車両、歩行者、工事区間が存在する場合であっても、それらが自車両の今後の走行軌道と重複する虞のない場合(例えば自車両の今後の走行軌道から離れた位置にある場合)については“自車両の走行に影響が生じる要因”からは除かれる。また、車両の走行に影響が生じる可能性のある要因を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
また、例えば全国の道路を走行する各車両のリアルタイムの位置等を外部のサーバで管理し、CPU51は自車両の周辺に位置する他車両の位置を外部のサーバから取得して前記S5の判定処理を行うようにしても良い。
そして、自車両の周辺に自車両の走行に影響が生じる要因が存在すると判定された場合(S5:YES)には、S6へと移行する。それに対して、自車両の周辺に自車両の走行に影響が生じる要因が存在しないと判定された場合(S5:NO)には、S9へと移行する。
S6においてCPU51は、後述の動的走行軌道生成処理(図14)を実行する。ここで、動的走行軌道生成処理は、車両の現在位置から前記S5で検出された“自車両の走行に影響が生じる要因”を回避或いは追従して静的走行軌道に戻る為の新たな軌道を動的走行軌道として生成する。尚、動的走行軌道は後述のように“自車両の走行に影響が生じる要因”を含む区間を対象として生成される。また、区間の長さは要因の内容によって変化する。例えば、“自車両の走行に影響が生じる要因”が車両の前方を走行する他車両(前方車両)である場合には、一例として右側に車線変更して前方車両を追い越し、その後に左側に車線変更して元の車線に戻るまでの軌道が動的走行軌道として生成される。尚、動的走行軌道は、車外カメラ39やその他のセンサで取得した車両周辺の道路状況に基づいて生成されるので、動的走行軌道が生成される対象となる領域は、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)内となる。
続いて、S7においてCPU51は、後述の走行軌道反映処理(図20)を実行する。ここで、走行軌道反映処理は、前記S6で新たに生成された動的走行軌道を、前記S3で生成された静的走行軌道に反映する処理である。具体的には、車両の現在位置から“自車両の走行に影響が生じる要因”を含む区間の終端まで、静的走行軌道、及び少なくとも一以上の動的走行軌道の夫々のコストを算出し、該コストが最少となる走行軌道を選択する。結果的に、必要に応じて静的走行軌道の一部が動的走行軌道に置き換わることになる。尚、状況によっては動的走行軌道の置き換えが行われない場合、即ち動的走行軌道の反映が行われても前記S3で生成された静的走行軌道から変化しない場合もある。更に、動的走行軌道と静的走行軌道が同じ軌道である場合には、置き換えが行われても前記S3で生成された静的走行軌道から変化しない場合もある。
次に、S8においてCPU51は、前記S7で動的走行軌道が反映された後の静的走行軌道について、反映された動的走行軌道の内容に基づいて前記S4で生成された車両の速度計画を修正する。尚、動的走行軌道の反映が行われた結果、前記S3で生成された静的走行軌道から変化しない場合には、S8の処理については省略しても良い。
続いて、S9においてCPU51は、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で車両が走行する為の制御量を演算する。具体的には、アクセル、ブレーキ、ギヤ及びステアリングの制御量が夫々演算される。尚、S9及びS10の処理についてはナビゲーション装置1ではなく車両を制御する車両制御ECU40が行うようにしても良い。
その後、S10においてCPU51は、S9において演算された制御量を反映する。具体的には、演算された制御量を、CANを介して車両制御ECU40へと送信する。車両制御ECU40では受信した制御量に基づいてアクセル、ブレーキ、ギヤ及びステアリングの各車両制御が行われる。その結果、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で走行する走行支援制御が可能となる。
次に、S11においてCPU51は、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したか否かを判定する。例えば一定距離は1kmとする。
そして、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したと判定された場合(S11:YES)には、S2へと戻る。その後、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が再度行われる(S2~S4)。尚、第1実施形態では車両が一定距離(例えば1km)走行する度に、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が繰り返し行われることとしているが、目的地までの距離が短い場合には走行開始時点において目的地までの静的走行軌道の生成を一度に行うようにしても良い。
一方、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行していないと判定された場合(S11:NO)には、自動運転支援による支援走行を終了するか否かを判定する(S12)。自動運転支援による支援走行を終了する場合としては、目的地に到着した場合以外に、ユーザが車両に設けられた操作パネルを操作したり、ハンドル操作やブレーキ操作などが行われることによって自動運転支援による走行を意図的に解除(オーバーライド)した場合がある。
そして、自動運転支援による支援走行を終了すると判定された場合(S12:YES)には、当該自動運転支援プログラムを終了する。それに対して自動運転支援による支援走行を継続すると判定された場合(S12:NO)には、S5へと戻る。
次に、前記S3において実行される静的走行軌道生成処理のサブ処理について図6に基づき説明する。図6は静的走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S21においてCPU51は、現在位置検出部31により検出した車両の現在位置を取得する。尚、車両の現在位置は、例えば高精度のGPS情報や高精度ロケーション技術を用いて詳細に特定することが望ましい。ここで、高精度ロケーション技術とは、車両に設置されたカメラから取り込んだ白線や路面ペイント情報を画像認識により検出し、更に、検出した白線や路面ペイント情報を例えば高精度地図情報15と照合することにより、走行車線や高精度な車両位置を検出可能にする技術である。更に、車両が複数の車線からなる道路を走行する場合には車両の走行する車線についても特定する。
次に、S22においてCPU51は、前記S2で取得した高精度地図情報15に基づいて、車両の進行方向前方の静的走行軌道を生成する区間(例えば車両の現在位置を含む2次メッシュ内)を対象として、レーン形状、区画線情報、交差点に関する情報等を取得する。尚、前記S22で取得されるレーン形状と区画線情報には、車線数、車線幅、車線数の増減がある場合にはどの位置でどのように増減するか、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報等を含む。また、交差点に関する情報としては、交差点の形状に加えて交差点上に配置された地物の位置や形状に関する情報を含む。更に、“交差点上に配置された地物”には、誘導線(ガイド白線)、交差点中央に配置されるひし形の導流帯(ダイヤマーク)等の路面に描かれた路面表示の他、ポール等の構造物がある。
続いて、S23においてCPU51は、前記S22で取得したレーン形状と区画線情報とに基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象としてレーンネットワークの構築を行う。ここで、レーンネットワークは車両が選択し得る車線移動を示したネットワークである。
ここで、前記S23におけるレーンネットワークを構築する例として、例えば図7に示す走行予定経路を車両が走行する場合を例に挙げて説明する。図7に示す走行予定経路は、車両の現在位置から直進した後に次の交差点71で右折し、更に次の交差点72でも右折し、次の交差点73で左折する経路とする。図7に示す走行予定経路では、例えば交差点71で右折する場合に右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点72で右折する必要があるので、交差点72の進入時点では最も右側の車線に車線移動する必要がある。また、交差点72で右折する場合においても右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点73で左折する必要があるので、交差点73の進入時点では最も左側の車線に車線移動する必要がある。このような車線移動が可能な区間を対象として構築したレーンネットワークを図8に示す。
図8に示すようにレーンネットワークは、車両の進行方向前方の静的走行軌道を生成する区間を複数の区画(グループ)に区分する。具体的には、交差点の進入位置、交差点の退出位置、車線が増減する位置を境界として区分する。そして、区分された各区画の境界に位置する各車線に対してノード点(以下、レーンノードという)75が設定されている。更に、レーンノード75間をつなぐリンク(以下、レーンリンクという)76が設定されている。
また、上記レーンネットワークは、特に交差点でのレーンノードとレーンリンクとの接続によって、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係、即ち交差点の通過前の車線に対して交差点の通過後に移動可能な車線を特定する情報を含んでいる。具体的には交差点の通過前の道路に設定されたレーンノードと、交差点の通過後の道路に設定されたレーンノードとの内、レーンリンクによって接続されたレーンノードに対応する車線間において車両が移動可能なことを示している。
このようなレーンネットワークを生成する為に高精度地図情報15には、交差点に接続する各道路について、交差点へと進入する道路と退出する道路の組み合わせごとに、車線の対応関係を示すレーンフラグが設定されて格納されている。例えば図9には、右側の道路から交差点に進入して上側の道路へと退出する際のレーンフラグと、右側の道路から交差点に進入して左側の道路へと退出する際のレーンフラグと、右側の道路から交差点に進入して下側の道路へと退出する際のレーンフラグを示す。そして、交差点の通過前の道路に含まれる車線の内、レーンフラグが“1”に設定された車線と、交差点の通過後の道路に含まれる車線の内、レーンフラグが“1”に設定された車線とが対応する、即ち交差点の通過前後で移動可能な車線であることを示している。CPU51は前記S23においてレーンネットワークを構築する際に、レーンフラグを参照して交差点におけるレーンノードとレーンリンクとの接続を形成する。
次に、S24においてCPU51は、前記S23で構築されたレーンネットワークに対して、レーンネットワークの始点に位置するレーンノードに対して車両が移動を開始する開始レーンを設定し、レーンネットワークの終点に位置するレーンノードに対して車両が移動する目標となる目標レーンを設定する。尚、レーンネットワークの始点が片側複数車線の道路である場合には、車両の現在位置する車線に対応するレーンノードが開始レーンとなる。一方、レーンネットワークの終点が片側複数車線の道路である場合には、最も左側の車線(左側通行の場合)に対応するレーンノードが目標レーンとなる。
その後、S25においてCPU51は、前記S23で構築されたレーンネットワークを参照し、開始レーンから目標レーンまでを連続して繋ぐルートを探索し、一のルート(以下、基準ルートという)を導出する。例えばダイクストラ法を用いて目標レーン側からルートの探索を行う。但し、開始レーンから目標レーンまでを連続して繋ぐルートを探索できるのであればダイクストラ法以外の探索手段を用いても良い。尚、前記S25で導出される基準ルートは必ずしも最適なルートである必要は無く、開始レーンから目標レーンまでを連続して繋ぐルートであれば良い。
続いて、S26においてCPU51は、前記S25で特定された基準ルートをベースにして、開始レーンから目標レーンまでを連続して繋ぐ他のルート(以下、候補ルートという)を導出する。例えば、開始レーン側から基準ルートを辿り、車線変更可能な区画や右左折対象となる交差点に到達した場合に、基準ルートと異なる新たなルートを分岐することによって生成する。その結果、図10に示すように1本の基準ルートと、一又は複数の候補ルートが生成されることとなる。
その後、S27においてCPU51は、前記S25及びS26で生成された基準ルート及び候補ルートの内、車線変更を伴うルートに対して、具体的な車線変更を行う位置(以下、車線変更位置という)を設定する。尚、前記S25及びS26で生成された基準ルート及び候補ルートが車線変更を一度も行わないルートである場合にはS27の処理は省略してもよい。
車線変更位置は、例えば以下の条件(A)~(C)に基づいて設定する。
(A)レーン毎に車線変更が可能な車線変更可能範囲を設定し、左側への車線変更(左側通行の場合)については車線変更可能範囲内で最も出発地側の位置に車線変更位置を設定する。
(B)右側への車線変更(左側通行の場合)については、車線変更を行うのに推奨される位置である車線変更推奨位置を道路種別に基づいて設定し、車線変更可能範囲内に車線変更推奨位置が有る場合には車線変更推奨位置に車線変更位置を設定する。
(C)車線変更可能範囲内に車線変更推奨位置が無い場合には、車線変更可能範囲内で最も出発地側に車線変更位置を設定する。
続いて、S28についてCPU51は、前記S25及びS26で生成された基準ルート及び候補ルートについて、前記S27で設定された車線変更位置に対してレーンノード75を追加する。ここで車線変更位置は、車線変更を開始する車線変更開始地点と車線変更を終了する車線変更終了地点を夫々含む。S28では、車線変更開始地点と車線変更終了地点の夫々に対してレーンノード75を追加する。また、レーンノードの追加に伴ってレーンノード75間をつなぐレーンリンク76についても追加する。また、車線変更位置以外のレーンリンクについては基本的に直線(車線に沿った形状)とする。その結果、図11に示すように基準ルート及び候補ルートは、前記S27で設定された車線変更位置を特定したより詳細な車線移動態様を示すものとなる。尚、前記S25及びS26で生成された基準ルート及び候補ルートが車線変更を一度も行わないルートである場合にはS28の処理は省略してもよい。
次に、S29においてCPU51は、前記S25及びS26で生成され且つ前記S27で車線変更位置が設定され、更に前記S28でレーンノードとレーンリンクが追加された基準ルート及び候補ルートについて、設定された車線変更位置を考慮してルート毎にレーンコストの合計を算出する。そして、ルート毎のレーンコストの合計値を比較し、レーンコストの合計値が最小となるルートを車両が移動する際に推奨される車両の車線移動態様として特定する。
ここで、レーンコストは、レーンリンク76毎に付与されており、S29では各ルートに含まれる全てのレーンリンク76のレーンコストの合計値を算出して比較する。また、各レーンリンク76に付与されるレーンコストは、各レーンリンク76の長さ或いは移動に係る所要時間を基準値とする。そして、基準値に対して以下の(1)の条件で補正を行う。更に、車線変更を含むルートについては含まれる車線変更の位置や数に応じて、(2)の条件で算出したコスト(以下、車線変更コストという)をレーンコストの合計値に加算する。尚、基本的に同一の区画(グループ)内のレーンリンク76は同一の長さとみなす(即ち車線変更による距離の増加は無視する)。また、交差点内のレーンリンク76の長さは0又は固定値とみなす。
(1)複数車線からなる道路のレーンリンクのレーンコストについては、走行する車線の位置によって基準値に対して係数を乗じる。具体的には、追い越し車線を走行するレーンリンクは、走行車線を走行するレーンリンクよりもレーンコストが高くなるように補正する。その結果、追い越し車線を走行する距離の長いルート程、より大きいレーンコストの合計値が算出されるので、推奨される車線移動態様として選択され難くなり、追い越し車線を走行する距離の短いルートが優先的に推奨される車線移動態様として選択されることとなる。尚、走行車線や追い越し車線の区分の無い道路については、左側通行の国では右側に位置する車線を走行するレーンリンク程、レーンコストがより高くなるように補正する。例えば図12に示すように片側3車線の道路では、最も左側の車線81を走行するレーンリンクについてはレーンコストに1.0を乗じる。中央の車線82を走行するレーンリンクについてはレーンコストに1.1を乗じる。最も右側の車線83を走行するレーンリンクについてはレーンコストに1.2を乗じる。一方、右側通行の国では逆に左側に位置する車線を走行するレーンリンク程、レーンコストがより高くなるように補正する。
(2)車線変更コストを算出する際には、先ず車線変更を行うのに推奨される位置を車線変更推奨位置として取得する。例えば車線変更推奨位置は分岐点へ進入する道路の道路種別(即ち車線変更を行う道路の道路種別)によって決定され、例えば都市間高速道路では分岐点の2000m手前の位置とする。都市高速道路では分岐点の1000m手前の位置とする。その他の一般道や細街路では分岐点の700m手前の位置とする。そして、車線変更推奨位置に対して前記S27で設定された車線変更位置が離れる程、より高い車線変更コストをレーンコストの合計値に加算する。
次に、S30においてCPU51は、前記S29で選択されたルートに従って、車両が車線移動する場合において、特に前記S27で車線変更位置が設定された区画(グループ)を対象として推奨される走行軌道を算出する。尚、前記S29で選択されたルートが車線変更を一度も行わないルートである場合にはS30の処理は省略しても良い。
具体的にCPU51は、前記S27において設定された車線変更位置の地図情報等を用いて走行軌道を算出する。例えば、車両の速度(その道路の制限速度とする)と車線幅から車両が車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑に車線変更開始地点から車線変更終了地点までを結ぶ軌道を算出する。尚、クロソイド曲線は、車両が一定の走行速度で且つステアリングを一定の角速度で回した場合に車両の軌跡が描く曲線である。
次に、S31においてCPU51は、前記S29で選択されたルートに従って、車両が車線移動する場合において、特に交差点内の区画(グループ)を対象として推奨される走行軌道を算出する。尚、前記S29で選択されたルートが交差点を一度も通過しないルートである場合にはS31の処理は省略しても良い。
例えば、図13では最も右側の車線から交差点内に進入し、その後に最も左側の車線へと退出する車線移動のルートが設定された交差点内の区画(グループ)を対象として、走行軌道を算出する場合を例に挙げて説明する。先ず、CPU51は、交差点内において車両が通過すべき位置についてマーキングする。具体的には、交差点への進入車線内、交差点への進入位置、交差点内の誘導線内(誘導線がある場合のみ)、交差点からの退出位置、交差点からの退出車線に対して夫々マーキングする。交差点中央にひし形の導流帯(ダイヤマーク)が有る場合にはダイヤマークについても考慮してマーキングを行う。そして、マーキングされた各マークを全て通過する曲線を走行軌道として算出する。より詳細には各マークをスプライン曲線で繋いだ後に、繋いだ曲線を近似するクロソイド曲線を走行軌道として算出する。尚、クロソイド曲線は、車両が一定の走行速度で且つステアリングを一定の角速度で回した場合に車両の軌跡が描く曲線である。
尚、前記S30及びS31では走行軌道を算出するのではなく、予め決められた形状の走行軌道を前記S29で選択されたルートに対して割り付けるようにしても良い。即ち、車線変更を行う為の走行軌道と、交差点を通過する為の走行軌道を車両毎に予め用意しておき、S29で選択されたルートの内、車線変更を行う区間に対して車線変更を行う為の走行軌道を割り付け、交差点を通過する区間に対して交差点を通過する為の走行軌道を割り付けることも可能である。
その後、S32においてCPU51は、前記S30及びS31で算出された各走行軌道を繋ぐことによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道を生成する。尚、車線変更を行う区画でもなく交差点内の区画でもない区画については、車線の中央を通過する軌道を車両の走行が推奨される走行軌道とする。
そして、前記S32で生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
次に、前記S6において実行される動的走行軌道生成処理のサブ処理について図14に基づき説明する。図14は動的走行軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S41においてCPU51は、現在位置検出部31により検出した自車両の現在位置を取得する。尚、車両の現在位置は、例えば高精度のGPS情報や高精度ロケーション技術を用いて詳細に特定することが望ましい。ここで、高精度ロケーション技術とは、車両に設置されたカメラから取り込んだ白線や路面ペイント情報を画像認識により検出し、更に、検出した白線や路面ペイント情報を例えば高精度地図情報15と照合することにより、走行車線や高精度な車両位置を検出可能にする技術である。更に、車両が複数の車線からなる道路を走行する場合には車両の走行する車線についても特定する。
次に、S42においてCPU51は、前記S3で生成された静的走行軌道(即ち、自車両が今後に走行する予定の軌道)と、前記S4で生成された速度計画(即ち、自車両の今後の予定速度)を取得する。
次に、S43においてCPU51は、前記S2で取得した高精度地図情報15に基づいて、車両の進行方向前方の特に前記S5で検出された“自車両の走行に影響が生じる要因(以下、影響要因という)”の周辺を対象として、レーン形状、区画線情報等を取得する。尚、前記S63で取得されるレーン形状と区画線情報には、車線数、車線数の増減がある場合にはどの位置でどのように増減するかを特定する情報等を含む。
続いて、S44においてCPU51は、前記S5で検出された影響要因について、現時点の影響要因の位置と、影響要因が移動している場合には移動状況(移動方向、移動速度)について取得する。尚、影響要因の位置と移動状況については、例えば車外カメラ39で車両周辺の所定の検出範囲を撮像した撮像画像に対して画像処理等を行うことによって取得する。
また、例えば全国の道路を走行する各車両のリアルタイムの位置、移動方向、移動速度等を外部のサーバで管理し、CPU51は自車両の周辺に位置する他車両が影響要因である場合には、前記S44において該当する他車両の位置、移動方向、移動速度を外部のサーバから取得するようにしても良い。
その後、S45においてCPU51は、先ず前記S44で取得した影響要因の現在位置及び移動状況に基づいて影響要因の今後の移動軌跡を予測する。尚、影響要因が他車両である場合には、他車両のウィンカーやブレーキランプの点灯状態について考慮して予測しても良い。更に、車車間通信などで他車両の今後の走行軌道や速度計画が取得可能であれば、それらを考慮して予測しても良い。その後、予測された影響要因の今後の移動軌跡と前記S42で取得した自車両の静的走行軌道及び速度計画とに基づいて、影響要因が自車両の走行に影響があるか否かをより正確に判定する。具体的には自車両と影響要因が現時点又は将来において同一の車線上に位置し、その間の距離が適切な車間距離D以内に接近すると予測される場合に、影響要因が自車両の走行に影響があると判定する。尚、適切な車間距離Dは例えば以下の式(1)により算出する。
D=自車両の車速×2sec+自車両の制動距離-影響要因の制動距離(但し、影響要因が移動体の場合に限る)・・・・(1)
そして、影響要因が自車両の走行に影響があると判定された場合(S45:YES)には、S46へと移行する。一方、影響要因が自車両の走行に影響がないと判定された場合(S45:NO)には、動的走行軌道を生成することなくS9(S7、S8は省略する)へと移行する。
S46においてCPU51は、前記S44で取得した影響要因の現在位置及び移動状況に基づいて、影響要因の存在によって車線移動が禁止される範囲(以下、車線移動禁止区間という)を算出する。以下に、図15を用いて車線移動禁止区間の算出方法の一例について説明する。図15は特に影響要因が自車両90と同じ車線の前方を走行する前方車両91である場合について示す。
図15に示すように先ず影響要因である前方車両91を回避するために、自車両が他の車線(以下、回避車線という)へと移動して追い越すと仮定した場合に、回避車線への車線変更を完了させる必要のある限界の地点を車線移動禁止区間の始点とする。尚、影響要因を検出した際の影響要因の位置を車線移動禁止区間の始点としても良い。その後、前方車両91を追い越して回避車線から元の車線へと戻る車線変更を開始可能な最も早い地点を車線移動禁止区間の終点とする。尚、車線移動の条件としては前方車両91との間に適切な車間距離を保つことを条件とする。また、回避車線は基本的に自車両が現在走行する車線に対して右側に位置する車線(左側通行の場合)とするが、最も右側の車線を現在走行している場合については例外的に左側に位置する車線としても良い。
続いて、S47においてCPU51は、影響要因を回避する為のノード(以下、回避ノードという)を前記S23で構築されたレーンネットワークの影響要因が存在しない車線上に対して新たに設定する。具体的には、図16に示すように前記S46で算出された車線移動禁止区間の始点であって回避車線上に回避ノード93を設定する。尚、回避車線は前述したように基本的に自車両90が現在走行する車線に対して右側(例外的に左側でも良い)に位置する車線とするが、例えば図17に示すように自車両90が3車線以上の車線を走行しており前方車両91を回避するために右側にも左側にも車線変更が可能な状況では、自車両が現在走行する車線の左右両側に位置する各車線を回避車線とし、回避ノード93を複数設定しても良い。また、自車両90が現在走行する車線と隣接する車線に限らず、影響要因が存在しない全ての車線上に対して回避ノード93を設定しても良い。
更に、回避ノード93を影響要因が存在する車線、即ち自車両が現在走行する車線上に対して設定しても良い。但し、後述のように車線移動禁止区間において影響要因の存在する車線を通過する必要があると判定されるルートについてはコストが無限大となるので、その後のS49において影響要因が存在する車線上に設定された回避ノード93を通過するルートが選択されることは基本的には無い。但し車線変更ができない、追い越しができないなどの状況下では選択される可能性はある。
また、影響要因が複数存在する場合については複数の影響要因に対して前記S46の車線移動禁止区間と前記S47の回避ノードが夫々設定される。
その後、S48においてCPU51は、前記S23で構築されたレーンネットワークの内、特に影響要因を含む区間を対象としてレーンネットワークの再構築を行う。具体的には、先ずレーンネットワークの再構築を行う区間(以下、再構築区間という)を設定する。再構築区間の始点は影響要因を追い越すために車線移動を開始することが可能な範囲内の任意の地点とし、例えば自車両の現在位置としても良いし、車線移動禁止区間の始点よりも車線移動に必要な距離だけ手前側の地点としても良い。一方で再構築区間の終点は影響要因を追い越した後に元の車線へと戻る車線移動を完了することが可能な範囲内の任意の地点とし、例えば次の交差点や車線増減地点としても良いし、車線移動禁止区間の終点よりも車線移動に必要な距離だけ進行方向側の地点としても良い。そして、図18に示すように再構築区間の始点に位置する各車線に対して出発ノード95を設定し、再構築区間の終点に位置する各車線に対して目的ノード96を設定する。但し、出発ノード95に関しては自車両90が現在位置する車線のみに設定しても良い。
続いて、CPU51は図18に示すように再構築区間を対象として、出発ノード95から前記S47で新たに設定された回避ノード93を経由して目的ノード96へと繋がるようにレーンリンク76を新たに設定する。それによって出発ノード95から目的ノード96まで影響要因を回避して繋ぐ為のレーンネットワークのルートが構築されることとなる。
次に、S49においてCPU51は、再構築された後のレーンネットワークに付加されたコストを用い、自車両が位置する車線の出発ノード95からいずれかの目的ノード96へと到るルートの内、コストの合計が最小となるルートを探索する。
ここで、ルートのコストの合計を算出する際には、(a)走行時間、(b)車線変更回数、(c)車線変更を行う位置、(d)走行車線の少なくとも一以上を考慮して算出する。具体的には、以下の条件に基づいて算出する。
(a)“走行時間”については、走行時間が長いルート程、コストの合計を高く算出する。尚、車両の走行速度については前記S4で生成された速度計画に基づいて特定する。
(b)“車線変更回数”については、車線変更回数が多いルート程、コストの合計を高く算出する。
(c)“車線変更を行う位置”については、複数回の車線変更を行う場合には、車線変更の間隔が短くなるルート程、コストの合計を高く算出する。また、交差点の手前側所定距離(例えば一般道700m、高速道路2km)以内で車線変更を行うルートについては、コストを加算する。
(d)“走行車線”については、追い越し車線の走行距離が長いルート程、コストの合計を高く算出する。
但し、上記(a)~(d)の条件に関わらず、自車両が前記S46で算出された車線移動禁止区間において影響要因の存在する車線を通過する必要があると判定されるルートについてはコストを無限大とする。
次に、S50においてCPU51は、前記S49で選択されたルートに従って、車両が車線移動する場合において、再構築区間を対象として推奨される走行軌道を算出する。
具体的にCPU51は、車両の現在の速度と車線幅から車両が車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑に出発ノード95、回避ノード93及び目的ノード96を結ぶ軌道を算出する。その際に、前記S46で算出された車線移動禁止区間において影響要因の存在する車線を通過せず、できる限り回避車線を走行する距離が短くなるように走行軌道を算出するのが望ましい。また、影響要因との間に適切な車間距離を維持することについても条件とする。
ここで、図19は自車両90が右側に車線変更して影響要因である前方車両91を追い越し、その後に左側に車線変更して元の車線に戻るルートが選択された場合に、前記S50で生成される走行軌道の一例を示す。
先ず、図19に示す例では、出発ノード95から回避ノード93までの間を対象にして、ステアリングの旋回を開始して右側の車線へと移動し、且つステアリングの位置が直進方向に戻るのに必要な第1の軌道L1を算出する。尚、第1の軌道L1は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、回避車線を走行する距離を短くするためにできる限り車線変更のタイミングを遅くし、且つ前方車両91との間に適切な車間距離以上を維持することについても条件とする。
次に、回避ノード93から目的ノード96までの間を対象にして、右側の車線を制限速度を上限に走行して前方車両91を追い越し、且つ前方車両91との間を適切な車間距離以上とするまでの第2の軌道L2を算出する。尚、第2の軌道L2は基本的に直線の軌道であり、また軌道の長さは、前方車両91の車速と道路の制限速度に基づいて算出される。
続いて、同じく回避ノード93から目的ノード96までの間を対象にして、ステアリングの旋回を開始して左側の車線へと戻り、且つステアリングの位置が直進方向に戻るのに必要な第3の軌道L3を算出する。尚、第3の軌道L3は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、回避車線を走行する距離を短くするためにできる限り車線変更のタイミングを早くし、前方車両91との間に適切な車間距離以上を維持することについても条件とする。
また、前記S50では上記走行軌道を走行する際の自車両の推奨速度についても算出する。自車両の推奨速度については、制限速度を上限として、車線変更時において車両に生じる横方向の加速度(横G)が自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えない速度を推奨速度とする。例えば走行軌道の曲率や制限速度などに基づいて算出される。
尚、前記S50では走行軌道を算出するのではなく、予め決められた形状の走行軌道を前記S49で選択されたルートに対して割り付けるようにしても良い。即ち、車線変更を行う為の走行軌道を車両毎に予め用意しておき、S29で選択されたルートの内、例えば回避ノード93を終点とする位置に車線変更の走行軌道を割り付け、その他の区間については車線を維持して走行する軌道を設定することによって走行軌道の生成が可能である。
尚、図19に示す例では、自車両90が右側に車線変更して影響要因である前方車両91を追い越し、その後に左側に車線変更して元の車線に戻る走行軌道を算出しているが、前記S49で選択されたルートによっては自車両90が前方車両91を追い越した後に元の車線に戻らずに、回避車線を継続して走行する走行起動が算出される場合もある。更に、例えば前方車両91の速度が速い、或いは周辺車両で道路が混雑しているなどの理由によって、自車両90が前方車両91を追い越すことができないと判定された場合には、再構築後のレーンネットワークと関係なく車線変更せずに現在走行する車線を継続して走行する、即ち前方車両91に追従して走行する走行軌道が算出される場合もある。
また、図19に示す例では自車両90が回避車線に車線変更した後に元の車線に戻る為の車線変更の走行軌道についても算出しているが、元の車線に戻る為の車線変更の走行軌道は算出しない(即ち元の車線に戻るタイミングを事前に指定しない)ようにしても良い。その場合には、回避車線に車線変更を行った自車両が随時周辺を検出し、元の車線に戻れると判断したタイミングで元の車線に戻る車線変更を行うようにする。
その後、S51においてCPU51は、前記S50で算出された走行軌道を、周辺の道路状況を考慮した上で走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である動的走行軌道として生成する。
そして、前記S51で生成された動的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
次に、前記S7において実行される走行軌道反映処理のサブ処理について図20に基づき説明する。図20は走行軌道反映処理のサブ処理プログラムのフローチャートである。
先ず、S71においてCPU51は、前記S3で生成された静的走行軌道と、前記S6で生成された動的走行軌道をフラッシュメモリ54等の記憶媒体から読み出す。
続いて、S72においてCPU51は、前記S71で読み出された各走行軌道について、走行軌道毎に車両の走行軌道としての適正度を示すパスコストを算出する。ここで、パスコストは、(a)走行時間(平均車速)、(b)車線変更回数、(c)車線変更を行う位置、(d)走行車線の少なくとも一以上を考慮して算出する。具体的には、以下の条件に基づいて算出する。
(a)“走行時間(平均車速)”については、走行時間が長い(即ち平均車速が遅い)走行軌道程、パスコストを高く算出する。尚、静的走行軌道の平均車速については前記S4で生成された速度計画に基づいて特定する。一方、動的走行軌道については前記S50で算出された推奨速度に基づいて特定する。
(b)“車線変更回数”については、車線変更回数が多い走行軌道程、パスコストを高く算出する。
(c)“車線変更を行う位置”については、複数回の車線変更を行う場合には、車線変更の間隔が短くなる走行軌道程、パスコストを高く算出する。また、交差点の手前側所定距離(例えば一般道700m、高速道路2km)以内で車線変更を行う走行軌道については、パスコストを加算する。
(d)“走行車線”については、追い越し車線の走行距離が長い走行軌道程、パスコストを高く算出する。
但し、上記(a)~(d)の条件に関わらず、自車両が前記S5で検出された影響要因と接触すると判定される走行軌道についてはコストを無限大とする。
その後、S73においてCPU51は、前記S72で算出された走行軌道毎のパスコストを比較し、静的走行軌道と動的走行軌道の内、パスコストの値が小さい走行軌道を車両の走行が推奨される走行軌道として選択する。
次に、S74においてCPU51は、前記S73において動的走行軌道が選択されたか否かを判定する。
そして、前記S73において動的走行軌道が選択されたと判定された場合(S74:YES)には、S75へと移行する。
S75においてCPU51は、選択された動的走行軌道が生成された再構築区間を対象として、静的走行軌道を動的走行軌道へと置き換える。尚、再構築区間の静的走行軌道を動的走行軌道へと置き換えた場合には、基本的に動的走行軌道の始点及び終点は静的走行軌道と繋がることとなるが、前記S49で選択されるルートによっては動的走行軌道の終点が静的走行軌道と繋がらない場合もある。そのような場合には、動的走行軌道の終点を始点として静的走行軌道の生成を新たに行っても良いし、静的走行軌道に繋がるまで動的走行軌道の生成を一定間隔で繰り返し行うようにしても良い。
その後、再構築区間が動的走行軌道に置き換えられた静的走行軌道に基づいて、自動運転支援による支援走行が行われる(S9、S10)
一方、前記S73において静的走行軌道が選択されたと判定された場合(S74:NO)には、動的走行軌道への置き換えを行うことなくS8へと移行する。
ここで、パスコストの値が小さい走行軌道として静的走行軌道が選択された場合には、車線変更することなく現在の車線を継続して走行し、影響要因に対して追従する軌道となる。従って、動的走行軌道への置き換えは行われないが、追従する軌道では影響要因との間の車間距離を適切に維持する必要がある為、速度計画については修正することとなる(S8)。
以上詳細に説明した通り、第1実施形態に係るナビゲーション装置1及びナビゲーション装置1で実行されるコンピュータプログラムでは、少なくとも車線に関する情報を含む高精度地図情報15を用いて、車両が走行する道路の所定区間を対象として車両が選択し得る車線移動についてノードとノード間を繋ぐリンクによって示したネットワークであるレーンネットワークを取得し(S23)、車両周辺の所定の検出範囲における道路状況を取得し(S44)、車両が取得した周辺の道路状況を用いて所定区間内のいずれかの車線上に車両の走行に影響が生じる影響要因が存在することを検出した場合に、影響要因を回避する為のノードとして回避ノード93をレーンネットワーク上に新たに追加する(S47)とともに、回避ノード93の追加に伴ってレーンネットワークを再構築し(S48)、再構築された後のレーンネットワークに付加されたコストを用いて、所定区間の始点に位置する出発ノードから所定区間の終点に位置する目的ノードまで要因を回避して繋ぐレーンネットワークのルートを探索し(S49)、ルートの探索結果に基づいて所定区間において影響要因を回避して走行する為の推奨される車両の走行軌道を生成し(S51)、走行軌道に基づいて車両の運転支援を行う(S9、S10)ので、ノードやリンクの数が必要以上に多くなることなく、また影響要因を回避するための適切な走行軌道を生成することが可能となる。
また、所定区間内において影響要因の存在位置に基づいて車線移動が禁止される範囲を車線移動禁止区間に設定し(S46)、車線移動禁止区間において影響要因の位置する車線を通過せずに出発ノードから目的ノードまでを繋ぐレーンネットワークのルートを探索する(S49)ので、影響要因を回避するための適切な走行軌道を生成することが可能となる。
[第2実施形態]
次に、第2実施形態に係るナビゲーション装置について図21~図26を用いて説明する。尚、以下の説明において上記図1乃至図20の第1実施形態に係るナビゲーション装置1の構成と同一符号は、前記第1実施形態に係るナビゲーション装置1等の構成と同一あるいは相当部分を示すものである。
この第2実施形態に係るナビゲーション装置の概略構成は、第1実施形態に係るナビゲーション装置1とほぼ同じ構成である。また、各種制御処理も第1実施形態に係るナビゲーション装置1とほぼ同じ制御処理である。
ただし、第1実施形態に係るナビゲーション装置1が、図16や図17に示すように車線移動禁止区間の始点のみに対して新たにノードを追加しているのに対して、第2実施形態に係るナビゲーション装置1は、車線移動禁止区間の終点に相当する地点にも新たにノードを追加する点で異なる。
ここで、第2実施形態に係るナビゲーション装置においてCPU51が実行する自動運転支援プログラムの内、特にS6の動的走行軌道生成処理のサブ処理について図21に基づき説明する。図21は動的走行軌道生成処理のサブ処理プログラムのフローチャートである。
尚、S101~S105の処理については第1実施形態に係る動的走行軌道生成処理(図14)のS41~S45と同様の処理であるので説明は省略する。
先ず、S106においてCPU51は、自車両が影響要因を追い越すのに必要な範囲(以下、追い越し区間という)を算出する。以下に、図22を用いて追い越し区間の算出方法の一例について説明する。図22は特に影響要因が自車両90と同じ車線の前方を走行する前方車両91である場合について示す。
図22に示すように先ず影響要因である前方車両91を回避するために、自車両が他の車線(以下、回避車線という)へと移動して追い越すと仮定した場合に、回避車線への車線変更を完了させる必要のある限界の地点を追い越し区間の始点とする。尚、影響要因を検出した際の影響要因の位置を追い越し区間の始点としても良い。その後、前方車両91を追い越して回避車線から元の車線へと戻る車線変更を開始可能な最も早い地点を追い越し区間の終点とする。尚、車線移動の条件としては前方車両91との間に適切な車間距離を保つことを条件とする。また、回避車線は基本的に自車両が現在走行する車線に対して右側に位置する車線(左側通行の場合)とするが、最も右側の車線を現在走行している場合については例外的に左側に位置する車線としても良い。尚、第2実施形態の『追い越し区間』は第1実施形態の『車線移動禁止区間』と実質的に同一区間となる。
続いて、S107においてCPU51は、影響要因を回避する為のノードを前記S23で構築されたレーンネットワークの影響要因が存在しない車線上に対して新たに設定する。具体的には、図23に示すように前記S106で算出された追い越し区間の始点であって回避車線上に追い越し開始ノード103を設定し、追い越し区間の終点であって回避車線上に追い越し完了ノード104を設定する。尚、第2実施形態の『追い越し開始ノード』は第1実施形態の『回避ノード』と実質的に同一ノードとなる。尚、回避車線は前述したように基本的に自車両90が現在走行する車線に対して右側(例外的に左側でも良い)に位置する車線とするが、例えば図24に示すように自車両90が3車線以上の車線を走行しており前方車両91を回避するために右側にも左側にも車線変更が可能な状況では、自車両が現在走行する車線の左右両側に位置する各車線を回避車線とし、追い越し開始ノード103と追い越し完了ノード104を複数設定しても良い。また、自車両90が現在走行する車線と隣接する車線に限らず、影響要因が存在しない全ての車線上に対して追い越し開始ノード103と追い越し完了ノード104を設定しても良い。
更に、追い越し開始ノード103と追い越し完了ノード104を影響要因が存在する車線、即ち自車両が現在走行する車線上に対して設定しても良い。但し、後述のように追い越し区間において影響要因の存在する車線を通過する必要があると判定されるルートについてはコストが無限大となるので、その後のS109において影響要因が存在する車線上に設定された追い越し開始ノード103や追い越し完了ノード104を通過するルートが選択されることは基本的には無い。但し車線変更ができない、追い越しができないなどの状況下では選択される可能性はある。
また、影響要因が複数存在する場合については複数の影響要因に対して前記S106の追い越し区間と前記S107の追い越し開始ノード及び追い越し完了ノードが夫々設定される。
その後、S108においてCPU51は、前記S23で構築されたレーンネットワークの内、特に影響要因を含む区間を対象としてレーンネットワークの再構築を行う。具体的には、先ずレーンネットワークの再構築を行う区間(以下、再構築区間という)を設定する。再構築区間の始点は影響要因を追い越すために車線移動を開始することが可能な範囲内の任意の地点とし、例えば自車両の現在位置としても良いし、追い越し区間の始点よりも車線移動に必要な距離だけ手前側の地点としても良い。一方で再構築区間の終点は影響要因を追い越した後に元の車線へと戻る車線移動を完了することが可能な範囲内の任意の地点とし、例えば次の交差点や車線増減地点としても良いし、追い越し区間の終点よりも車線移動に必要な距離だけ進行方向側の地点としても良い。そして、図25に示すように再構築区間の始点に位置する各車線に対して出発ノード95を設定し、再構築区間の終点に位置する各車線に対して目的ノード96を設定する。但し、出発ノード95に関しては自車両90が現在位置する車線のみに設定しても良い。
続いて、CPU51は図25に示すように再構築区間を対象として、出発ノード95から前記S107で新たに設定された追い越し開始ノード103及び追い越し完了ノード104を経由して目的ノード96へと繋がるようにレーンリンク76を新たに設定する。それによって出発ノード95から目的ノード96まで影響要因を回避して繋ぐ為のレーンネットワークのルートが構築されることとなる。
次に、S109においてCPU51は、再構築された後のレーンネットワークに付加されたコストを用い、自車両が位置する車線の出発ノード95からいずれかの目的ノード96へと到るルートの内、コストの合計が最小となるルートを探索する。
ここで、ルートのコストの合計を算出する際には、(a)走行時間、(b)車線変更回数、(c)車線変更を行う位置、(d)走行車線の少なくとも一以上を考慮して算出する。具体的には、以下の条件に基づいて算出する。
(a)“走行時間”については、走行時間が長いルート程、コストの合計を高く算出する。尚、車両の走行速度については前記S4で生成された速度計画に基づいて特定する。
(b)“車線変更回数”については、車線変更回数が多いルート程、コストの合計を高く算出する。
(c)“車線変更を行う位置”については、複数回の車線変更を行う場合には、車線変更の間隔が短くなるルート程、コストの合計を高く算出する。また、交差点の手前側所定距離(例えば一般道700m、高速道路2km)以内で車線変更を行うルートについては、コストを加算する。
(d)“走行車線”については、追い越し車線の走行距離が長いルート程、コストの合計を高く算出する。
但し、上記(a)~(d)の条件に関わらず、自車両が前記S106で算出された追い越し区間において影響要因の存在する車線を通過する必要があると判定されるルートについてはコストを無限大とする。
次に、S110においてCPU51は、前記S109で選択されたルートに従って、車両が車線移動する場合において、再構築区間を対象として推奨される走行軌道を算出する。
具体的にCPU51は、車両の現在の速度と車線幅から車両が車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑に出発ノード95、追い越し開始ノード103、追い越し完了ノード104及び目的ノード96を結ぶ軌道を算出する。その際に、前記S106で算出された追い越し区間において影響要因の存在する車線を通過せず、できる限り回避車線を走行する距離が短くなるように走行軌道を算出するのが望ましい。また、影響要因との間に適切な車間距離を維持することについても条件とする。
ここで、図26は自車両90が右側に車線変更して影響要因である前方車両91を追い越し、その後に左側に車線変更して元の車線に戻るルートが選択された場合に、前記S110で生成される走行軌道の一例を示す。
先ず、図26に示す例では、出発ノード95から追い越し開始ノード103までの間を対象にして、ステアリングの旋回を開始して右側の車線へと移動し、且つステアリングの位置が直進方向に戻るのに必要な第1の軌道L1を算出する。尚、第1の軌道L1は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、回避車線を走行する距離を短くするためにできる限り車線変更のタイミングを遅くし、且つ前方車両91との間に適切な車間距離以上を維持することについても条件とする。
次に、追い越し開始ノード103から追い越し完了ノード104までの間を対象にして、右側の車線を制限速度を上限に走行して前方車両91を追い越し、且つ前方車両91との間を適切な車間距離以上とするまでの第2の軌道L2を算出する。尚、第2の軌道L2は基本的に直線の軌道であり、また軌道の長さは、前方車両91の車速と道路の制限速度に基づいて算出される。
続いて、追い越し完了ノード104から目的ノード96までの間を対象にして、ステアリングの旋回を開始して左側の車線へと戻り、且つステアリングの位置が直進方向に戻るのに必要な第3の軌道L3を算出する。尚、第3の軌道L3は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、回避車線を走行する距離を短くするためにできる限り車線変更のタイミングを早くし、前方車両91との間に適切な車間距離以上を維持することについても条件とする。
また、前記S110では上記走行軌道を走行する際の自車両の推奨速度についても算出する。自車両の推奨速度については、制限速度を上限として、車線変更時において車両に生じる横方向の加速度(横G)が自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えない速度を推奨速度とする。例えば走行軌道の曲率や制限速度などに基づいて算出される。
尚、前記S110では走行軌道を算出するのではなく、予め決められた形状の走行軌道を前記S109で選択されたルートに対して割り付けるようにしても良い。即ち、車線変更を行う為の走行軌道を車両毎に予め用意しておき、S109で選択されたルートの内、例えば追い越し開始ノード103を終点とする位置と追い越し完了ノード104を始点とする位置に夫々車線変更の走行軌道を割り付け、その他の区間については車線を維持して走行する軌道を設定することによって走行軌道の生成が可能である。
尚、図26に示す例では、自車両90が右側に車線変更して影響要因である前方車両91を追い越し、その後に左側に車線変更して元の車線に戻る走行軌道を算出しているが、前記S109で選択されたルートによっては自車両90が前方車両91を追い越した後に元の車線に戻らずに、回避車線を継続して走行する走行起動が算出される場合もある。更に、例えば前方車両91の速度が速い、或いは周辺車両で道路が混雑しているなどの理由によって、自車両90が前方車両91を追い越すことができないと判定された場合には、再構築後のレーンネットワークと関係なく車線変更せずに現在走行する車線を継続して走行する、即ち前方車両91に追従して走行する走行軌道が算出される場合もある。
その後、S111においてCPU51は、前記S110で算出された走行軌道を、周辺の道路状況を考慮した上で走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である動的走行軌道として生成する。
そして、前記S111で生成された動的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
以上詳細に説明した通り、第2実施形態に係るナビゲーション装置1及びナビゲーション装置1で実行されるコンピュータプログラムでは、少なくとも車線に関する情報を含む高精度地図情報15を用いて、車両が走行する道路の所定区間を対象として車両が選択し得る車線移動についてノードとノード間を繋ぐリンクによって示したネットワークであるレーンネットワークを取得し(S23)、車両周辺の所定の検出範囲における道路状況を取得し(S104)、車両が取得した周辺の道路状況を用いて所定区間内のいずれかの車線上に車両の走行に影響が生じる影響要因が存在することを検出した場合に、影響要因を回避する為のノードとして追い越し開始ノード103及び追い越し完了ノード104をレーンネットワーク上に新たに追加する(S107)とともに、追い越し開始ノード103及び追い越し完了ノード104の追加に伴ってレーンネットワークを再構築し(S108)、再構築された後のレーンネットワークに付加されたコストを用いて、所定区間の始点に位置する出発ノードから所定区間の終点に位置する目的ノードまで要因を回避して繋ぐレーンネットワークのルートを探索し(S109)、ルートの探索結果に基づいて所定区間において影響要因を回避して走行する為の推奨される車両の走行軌道を生成し(S111)、走行軌道に基づいて車両の運転支援を行う(S9、S10)ので、ノードやリンクの数が必要以上に多くなることなく、また影響要因を回避するための適切な走行軌道を生成することが可能となる。
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、第1実施形態では、影響要因の存在によって車線移動が禁止される範囲である車線移動禁止区間を設定しているが、車線移動禁止区間の始点の位置さえ特定できれば回避ノードを設定できるので車線移動禁止区間については必ずしも設定する必要はない。尚、車線移動禁止区間を設定しない場合には、自車両が影響要因を追い越した後に回避車線から元の車線に戻るタイミングは事前に指定せず、回避車線に車線変更を行った自車両が随時周辺を検出し、元の車線に戻れると判断したタイミングで元の車線に戻る車線変更を行うようにする。
また、第1実施形態及び第2実施形態では、サーバ装置4が有する高精度地図情報には、道路のレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報の両方を含むが、区画線に関する情報のみを含むようにしても良いし、道路のレーン形状に関する情報のみを含むようにしても良い。例えば区画線に関する情報のみを含む場合であっても、区画線に関する情報に基づいて道路のレーン形状に関する情報に相当する情報を推定することが可能である。また、道路のレーン形状に関する情報のみを含む場合であっても、道路のレーン形状に関する情報に基づいて区画線に関する情報に相当する情報を推定することが可能である。また、「区画線に関する情報」は、車線を区画する区画線自体の種類や配置を特定する情報であっても良いし、隣接する車線間で車線変更が可能か否かを特定する情報であっても良いし、車線の形状を直接または間接的に特定する情報であっても良い。
また、第1実施形態及び第2実施形態では、車両の走行に影響が生じる影響要因を検出した場合に動的走行軌道を生成するとともに、既存の静的走行軌道と新たに生成された動的走行軌道のパスコストとを比較して(S72、S73)、動的走行軌道の方が推奨されると判定された場合にのみ静的走行軌道を動的走行軌道に置き換えている(S75)が、動的走行軌道が生成された場合には必ず静的走行軌道を動的走行軌道に置き換えるようにしても良い。
また、第1実施形態及び第2実施形態では、静的走行軌道に動的走行軌道を反映する手段として、静的走行軌道の一部を動的走行軌道に置き換えている(S75)が、置き換えるのではなく静的走行軌道を動的走行軌道に近づけるように軌道の修正を行っても良い。
また、第1実施形態及び第2実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ECU40が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転支援として説明してきた。しかし、自動運転支援を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ECU40が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
また、本発明の運転支援は車両の自動運転に係る自動運転支援に限られない。例えば、静的走行軌道や動的走行軌道をナビゲーション画面に表示するとともに、音声や画面等を用いた案内(例えば車線変更の案内、推奨車速の案内等)を行うことによる運転支援も可能である。また、静的走行軌道や動的走行軌道をナビゲーション画面に表示することでユーザの運転操作を支援するようにしてもよい。
また、第1実施形態及び第2実施形態では、自動運転支援プログラム(図4)をナビゲーション装置1が実行する構成としているが、ナビゲーション装置1以外の車載器や車両制御ECU40が実行する構成としても良い。その場合には、車載器や車両制御ECU40は車両の現在位置や地図情報等をナビゲーション装置1やサーバ装置4から取得する構成とする。更に、サーバ装置4が自動運転支援プログラム(図4)のステップの一部または全部を実行するようにしても良い。その場合にはサーバ装置4が本願の運転支援装置に相当する。
また、本発明はナビゲーション装置以外に、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等(以下、携帯端末等という)に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転支援プログラム(図4参照)の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転支援が実行可能な車両と携帯端末等が通信可能に接続(有線無線は問わない)される必要がある。