以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
〔運転支援システム〕
図1に示す運転支援システム1は、車両2(例えば自動車)の運転支援の一例として、車両2の自動運転を実行するシステムである。運転支援システム1は、車両2に搭載される運転支援装置100と、ネットワーク回線を介して運転支援装置100に接続される運転支援サーバ200とを備える。運転支援サーバ200は、地図データを記憶した地図データベース210を有する。
図2に示すように、地図データ220は、車線ネットワーク情報230と、車線属性情報240とを含む。車線ネットワーク情報230は、道路車線LNを複数の区間(以下、「車線区間」という。)に分割した情報であり、各車線区間のデータ(以下、「車線区間データ」という。)231を含む。車線属性情報240は、道路車線LNに関連する情報であり、車線区間ごとに定められている。例えば車線属性情報240は、車線変更情報241と渋滞情報242を含む。車線属性情報240は、車線変更の可否を車線区間ごとに定める情報である。図示においては、破線矢印の車線変更情報241が車線変更不可を示し、実線矢印の車線変更情報241が車線変更可を示している。渋滞情報242は、車両渋滞の開始地点及び終了地点を車線区間ごとに示す情報である。
図3に例示するように、車線区間データ231は、レーンID、座標点列、進入側レーンID、退出側レーンID、及びレーン長さ等を含む。レーンIDは、車線区間に固有のIDである。座標点列は、車線区間を構成する点の座標データを順に並べたデータ列である。進入側レーンIDは、車線区間の始点に連なる他の車線区間のIDである。退出側レーンIDは、車線区間の終点に連なる他の車線区間のIDである。レーン長さは、車線区間の始点から終点までの長さである。
図4に例示するように、車線属性情報240は、レーンID、総レーン数、レーン番号、左側レーンID、右側レーンID、車線変更情報、及び渋滞情報を含む。レーンIDは、当該属性情報の対象となる車線区間のIDである。総レーン数は、同一の道路内に含まれる道路車線LNの総数である。レーン番号は、車線区間が左側又は右側から何番目の道路車線LNに属するかを示す値である。左側レーンIDは、車線区間の左側に位置する他の車線区間のIDである。右側レーンIDは、車線区間の右側に位置する他の車線区間のIDである。車線変更情報は、左側及び右側のそれぞれへの車線変更の可否を示す。渋滞情報は、渋滞が生じている範囲を示す情報であり、渋滞の始点(開始地点)の座標と、渋滞の終点(終了地点)の座標とを含む。一つ前の車線区間から続いている渋滞の場合、当該渋滞の始点は車線区間の始点と一致する。次の車線区間に続く渋滞の場合、当該渋滞の終点は車線区間の終点と一致する。一つの車線区間内に複数の渋滞が生じている場合、車線属性情報は、複数組の始点及び終点の座標を含む。渋滞情報は、例えば道路交通情報センター等から配信されるデータに基づいて常時更新される。
図1に戻り、車両2は、ユーザインタフェース21と、GPS受信機22と、車載カメラ23と、レーダ24と、アクセルアクチュエータ25と、ブレーキアクチュエータ26と、ステアリングアクチュエータ27と、速度センサ28と、運転支援装置100とを有する。
ユーザインタフェース21は、入力部及び表示部を含む(不図示)。入力部は、例えばキーパッド等であり、ユーザによる情報入力を取得する。表示部は、例えば液晶モニタ等であり、ユーザへの情報を表示する。なお、所謂タッチパネルのように、入力部及び表示部は一体化されていてもよい。GPS受信機22は、GPS(Global Positioning System)用の衛星信号を受信する。車載カメラ23は、車両2の周辺の画像情報を取得する。レーダ24は、車両2の周辺の物体の情報を取得する。アクセルアクチュエータ25は、例えば電動モータ等を動力源として、車両2のアクセルの開度を調節する。ブレーキアクチュエータ26は、例えば電動モータ等を動力源として、車両2のブレーキの作動状態を調節する。ステアリングアクチュエータ27は、例えば電動モータ等を動力源として、車両2の舵角を調節する。速度センサ28は、車両2の走行速度を検出する。
運転支援装置100は、地図データベース210に記憶された地図データと、ユーザインタフェース21、GPS受信機22、車載カメラ23、レーダ24及び速度センサ28からの情報とに基づいて、アクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
例えば運転支援装置100は、機能上の構成(以下、「機能モジュール」という。)として、車線情報取得部111と、目的地情報取得部112と、位置情報取得部113と、渋滞情報取得部114と、他車情報取得部115と、速度情報取得部116と、経路探索部117と、車線走行制御部120と、進路変更制御部130と、車線変更制御部140とを備える。
車線情報取得部111は、運転支援サーバ200の地図データベース210から車線ネットワーク情報及び車線属性情報240を取得する。目的地情報取得部112は、ユーザインタフェース21への入力に基づいて車両2の目的地の情報を取得する。位置情報取得部113は、GPS受信機22から車両2の現在位置情報を取得する。渋滞情報取得部114は、運転支援サーバ200の地図データベース210から渋滞情報を取得する。他車情報取得部115は、車載カメラ23及びレーダ24からの情報に基づいて、車両2の周辺車両の走行状態に関する情報を取得する。走行状態に関する情報は、例えば周辺車両の現在位置及び速度の情報を含む。速度情報取得部116は、速度センサ28から車両2の走行速度の情報を取得する。
経路探索部117は、車線情報取得部111により取得された車線ネットワーク情報と、目的地情報取得部112により取得された目的地の情報と、位置情報取得部113により取得された現在位置の情報と、渋滞情報取得部114により取得された渋滞情報とに基づいて、現在位置から目的地までの車両2の走行経路データを導出する。当該走行経路データは、現在位置から目的地に至る道路の全車線区間のIDを含む。
なお、道路における交差点又は分岐地点等の所定地点に対応する複数のノード情報と、所定地点間の道路に対応するリンク情報とを有する道路ネットワーク情報を用い、走行経路を導出しても良い。道路ネットワーク情報は、車線単位ではなく道路単位におけるデータなので、経路探索における処理時間を短縮できる。そして、道路ネットワーク情報のリンク情報と車線区間データとを関連付けておくことにより、道路ネットワーク情報における走行経路を車線ネットワーク情報においても特定することができる。
車線走行制御部120は、車線に沿って走行するように車両2を制御する。車線変更制御部140は、走行中の車線を変更するように車両2を制御する。車線を変更するとは、同一の道路内において、現在走行中の車線から、当該車線に隣接する他の車線に移動することを意味する。進路変更制御部130は、進路を変更するように車両2を制御する。進路を変更するとは、交差点又は差込道路において、現在走行中の車線に交差する車線又は現在走行中の車線から分岐した車線に進入することを意味する。
図5に示すように、車線走行制御部120は車線走行運転部121を有する。車線走行運転部121は、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて、現在走行中の車線に沿って車両2の走行を継続させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
車線変更制御部140は、地図データ220に基づき、車線変更を必要とする車両が走行中の区間が車線変更可である場合に、車両が、次の車線変更不可の区間の始点の所定距離手前の地点よりも手前の地点を走行している場合には車線変更支援処理を実行し、次の車線変更不可の区間の始点の所定距離手前の地点を超えた地点を走行している場合には車線変更支援処理を中止するか、又は車両の減速を条件として車線変更支援処理を実行する。
車線変更支援処理は、周辺車両の走行状態に基づいて車線変更可否を判定することを含んでもよい。
車両の前方における変更先の車線に渋滞が発生している場合、車線変更制御部140は、車両が、変更先の車線の渋滞区間の始点の所定距離手前の地点よりも手前の地点を走行している場合には車線変更支援処理を実行し、変更先の車線の渋滞区間の始点の所定距離手前の地点を越えた地点走行している場合には車線変更支援処理を中止するか、又は車両の減速を条件として車線変更支援処理を実行してもよい。
車両変更制御部は、渋滞区間の終点から次の車線変更不可の区間の始点までの距離が所定距離より小さい場合には、渋滞区間の終点から次の車線変更不可の区間の始点までの間においては車線変更支援処理を実行せず、渋滞区間の終点から次の車線変更不可の区間の始点までの距離が所定距離より大きい場合には、車両が渋滞の終点に到達するまで車線変更支援処理の実行を待機してもよい。
車線変更制御部は、車両の車線変更の事由に応じて、車線変更支援処理の開始位置を変更してもよい。
車線変更制御部は、車両の走行速度に応じて、次の車線変更不可の区間の始点の所定距離手前の地点を変更してもよい。
例えば車線変更制御部140は、図6に示すように、変更要否判定部141と、目標位置設定部142と、第二距離導出部143と、マージン設定部144と、第二判定部145と、目標位置変更部146と、第一距離導出部147と、第一判定部148と、推奨位置設定部149と、車線変更支援部150とを有する。
変更要否判定部141は、車両2の車線変更の要否を判定する。例えば変更要否判定部141は、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて車両2が現在走行中の車線を特定し、車両2が進路変更を予定しているが進路変更用の車線には位置していない場合に、当該進路変更を事由として車線変更要と判定する。また、変更要否判定部141は、他車情報取得部115により取得された情報に基づいて車両2の前方の車両の走行状態を特定し、当該前方の車両の回避が必要である場合に、当該前方の車両の回避を事由として車線変更要と判定する。
目標位置設定部142は、車線属性情報240の車線変更情報を参照して、車線変更を必要とする車両2が走行中の車線区間が車線変更可である場合に、次の車線変更不可の車線区間の始点を基準にして、車線変更の完了目標位置(以下、「変更完了目標位置」という。)を設定する。例えば目標位置設定部142は、次の車線変更不可の車線区間の始点自体を変更完了目標位置にしてもよいし、一定距離にて当該始点から手前側又は先側に離れた位置を変更完了目標位置にしてもよい。
第二距離導出部143は、目標位置設定部142により設定された変更完了目標位置、位置情報取得部113により取得された現在位置情報、及び渋滞情報取得部114により取得された渋滞情報に基づいて、車両2の現在位置から変更完了目標位置までの間における変更先の車線の渋滞(以下、「変更先の渋滞」という。)の情報を抽出し、変更先の渋滞の終点から変更完了目標位置までの距離(以下、「第二距離」という。)を導出する。
マージン設定部144は、速度情報取得部116より取得された車両2の走行速度に応じて第一マージン及び第二マージンを設定する。第一マージン及び第二マージンは、車線変更用に確保すべき走行距離を示す値である。例えばマージン設定部144は、予め設定されたテーブル又は関数等を用い、車両2の走行速度が大きくなるのに応じて第一マージン及び第二マージンを大きくする。マージン設定部144は、第二マージンを第一マージンと等しくしてもよいし、第二マージンを第一マージンより大きくしてもよい。
第二判定部145は、第二距離導出部143により導出された第二距離とマージン設定部144により設定された第二マージンとの大小関係を判定する。
目標位置変更部146は、第二判定部145による判定結果を参照し、第二距離が第二マージンより小さい場合に、変更先の渋滞の始点を基準とした位置に変更完了目標位置を変更する。例えば目標位置変更部146は、変更先の渋滞の始点自体を変更完了目標位置にしてもよいし、一定距離にて当該始点から手前側又は先側に離れた位置を変更完了目標位置にしてもよい。
第一距離導出部147は、目標位置設定部142により設定された変更完了目標位置又は目標位置変更部146により変更された変更完了目標値と、位置情報取得部113により取得された現在位置情報とに基づいて、車両2の現在位置から変更完了目標位置までの距離(以下、「第一距離」という。)を導出する。
第一判定部148は、第一距離導出部147により導出された第一距離とマージン設定部144により設定された第一マージンとの大小関係を判定する。
推奨位置設定部149は、車両2の車線変更の事由に応じて、車両2の車線変更の開始推奨位置を設定する。例えば推奨位置設定部149は、車両2の車線変更の事由が当該車両2の進路変更である場合に、目標位置設定部142により設定された変更完了目標位置又は目標位置変更部146により変更された変更完了目標位置までの距離が第一マージンより大きい位置を開始推奨位置に設定してもよい。推奨位置設定部149は、車両2の車線変更の事由が前方の車両の回避である場合に、当該前方の車両に追い付くまでの推定走行距離が第一マージンより大きい値となる位置を開始推奨位置に設定してもよい。
車線変更支援部150は、第一判定部148による判定結果を参照し、第一距離が第一マージンより大きい場合には車線変更支援処理を実行し、第一距離が第一マージンより小さい場合には車線変更支援処理を中止する。車線変更支援処理は、他車情報取得部115により取得された周辺車両の走行状態に基づいて車線変更可否を判定することを含む。車線変更支援部150は、推奨位置設定部149により設定された開始推奨位置に車両2が到達するまで車線変更支援処理の実行を待機してもよい。車線変更支援部150は、第二判定部145による判定結果を参照し、第二距離が第二マージンより大きい場合に、車両2が渋滞の終点に到達するまで車線変更支援処理の実行を待機してもよい。
例えば車線変更支援部150は、より細分化された機能モジュールとして、変更可否判定部151と、車線走行運転部152と、車線変更運転部153とを含む。
変更可否判定部151は、他車情報取得部115により取得された周辺車両の走行状態に基づいて車両2の車線変更の可否を判定する。例えば変更可否判定部151は、周辺車両の走行状態に基づいて周辺車両の予測走行経路を導出し、車線変更を実行する場合の車両2の予測走行経路と、周辺車両の予測走行経路とに基づいて車両2と周辺車両との衝突が想定されない場合には車線変更可と判定し、当該衝突が想定される場合には車線変更不可と判定する。
車線走行運転部152は、変更可否判定部151による判定結果が車線変更不可である場合に、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて、現在走行中の車線に沿って車両2を走行させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
車線変更運転部153は、変更可否判定部151による判定結果が車線変更可である場合に、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて、現在走行中の車線から変更先の車線に車両2を移動させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
なお、車線変更支援部150は、第一距離が第一マージンより小さい場合に、必ずしも車線変更支援処理を中止しなくてもよい。例えば車線変更支援部150は、車両2の減速を条件として車線変更支援処理を実行してもよい。一例として、車線変更運転部153は、第一距離が第一マージンより小さい場合に、車両2を減速させるようにアクセルアクチュエータ25及びブレーキアクチュエータ26を制御し、その後、現在走行中の車線から変更先の車線に車両2を移動させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御してもよい。減速させることは停止させることも含む。
図7に示すように、進路変更制御部130は、変更要否判定部131と、第三距離導出部132と、マージン設定部137と、第三判定部133と、進路変更支援部134とを有する。
変更要否判定部131は、車両2の進路変更の要否を判定する。例えば変更要否判定部131は、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて、車両2が現在走行中の車線区間からの進路変更の要否を判定する。
第三距離導出部132は、次の進路(変更後の進路)における車線変更可能距離(以下、「第三距離」という。)を導出する。より具体的に、第三距離導出部132は、経路探索部117により導出された走行経路データ及び渋滞情報取得部114により取得された渋滞情報を参照し、車両2が進路を変更した後、更に次に進路を変更するまでの走行経路において、連続して車線変更可となる距離を第三距離として導出する。
マージン設定部137は、速度情報取得部116により取得された車両2の走行速度に応じて第三マージンを設定する。第三マージンは、車線変更用に確保すべき走行距離を示す値である。例えばマージン設定部137は、予め設定されたテーブル又は関数等を用い、車両2の走行速度が大きくなるのに応じて第三マージンを大きくする。マージン設定部137は、第三マージンを第一マージンと等しくしてもよいし、第三マージンを第一マージンより大きくしてもよい。
第三判定部133は、第三距離導出部132により導出された第三距離とマージン設定部137により設定された第三マージンとの大小関係を判定する。
進路変更支援部134は、第三判定部133による判定結果に応じて、進路変更支援処理を実行する。進路変更支援処理は、第三判定部133による判定結果に応じて、進路変更時に進入させる車線を選択することを含む。例えば進路変更支援部134は、より細分化された機能モジュールとして、車線選択部135と進路変更運転部136とを含む。
車線選択部135は、第三判定部133による判定結果を参照し、第三距離が第三マージンより大きい場合には、次の進路の車線から直進用の車線(進路変更用の車線以外の車線)を選択し、第三距離が第三マージンより小さい場合には、次の進路の車線から更に次の進路変更用の車線を選択する。
進路変更運転部136は、経路探索部117により導出された走行経路データ及び位置情報取得部113により取得された現在位置情報に基づいて、車線選択部135により選択された車線に車両2を進入させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
運転支援装置100は、一つ又は複数の制御用コンピュータにより構成される。例えば運転支援装置100は、図8に示す制御回路170を有する。制御回路170は、一つ又は複数のプロセッサ171と、メモリ172と、ストレージ173と、通信ポート174と、入出力ポート175とを有する。
ストレージ173は、例えばハードディスク等、コンピュータによって読み取り可能な記憶媒体を有し、上述した各機能モジュールを構成するためのプログラムを記憶している。
より具体的に、ストレージ173は、車線変更を必要とする車両2が走行中の車線区間が車線変更可である場合に、次の車線変更不可の区間の始点を変更完了目標位置として設定することと、第一距離と第一マージンとの大小関係を判定することと、第一距離が第一マージンより大きい場合には車線変更支援処理を実行し、第一距離が第一マージンより小さい場合には、車線変更支援処理を中止するか、又は車両の減速を条件として車線変更支援処理を実行することと、を運転支援装置100に実行させるためのプログラムを記憶している。
上記プログラムは、車両2の周辺車両の走行状態に関する情報を取得することを更に運転支援装置100に実行させるように構成されていてもよく、車線変更支援処理は、周辺車両の走行状態に基づいて車線変更可否を判定することを含んでもよい。
上記プログラムは、車両2の現在位置から変更完了目標位置までの間における変更先の渋滞情報を取得することと、第二距離と第二マージンとの大小関係を判定することと、第二距離が第二マージンより小さい場合に、変更完了目標位置を変更先の渋滞の始点を基準とした位置に変更することと、を更に運転支援装置100に実行させ、第二距離が第二マージンより大きい場合に、車両2が変更先の渋滞の終点に到達するまで車線変更支援処理の実行を待機させるように構成されていてもよい。
上記プログラムは、車両2の車線変更の事由に応じて、車両2の車線変更の開始推奨位置を設定することを更に運転支援装置100に実行させ、車両2が開始推奨位置に到達するまで車線変更支援処理の実行を待機させるように構成されていてもよい。
上記プログラムは、車線変更の事由が車両2の進路変更である場合に、変更完了目標位置までの距離が第一マージンより大きい位置を開始推奨位置に設定させるように構成されていてもよい。
記憶媒体は、不揮発性の半導体メモリ、磁気ディスク及び光ディスク等の取り出し可能な媒体であってもよい。
メモリ172は、ストレージ173からロードしたプログラム及びプロセッサ171による演算結果を一時的に記憶する。プロセッサ171は、メモリ172と協働して上記プログラムを実行することで、上述した各機能モジュールを構成する。通信ポート174は、プロセッサ171からの指令に従って、ネットワーク回線NWを介して運転支援サーバ200との間でデータ通信を行う。入出力ポート175は、プロセッサ171からの指令に従って、ユーザインタフェース21、GPS受信機22、車載カメラ23、レーダ24、アクセルアクチュエータ25、ブレーキアクチュエータ26、ステアリングアクチュエータ27、及び速度センサ28との間で電気信号の入出力を行う。
〔運転支援手順〕
続いて、運転支援方法の一例として、運転支援装置100が実行する運転支援手順を説明する。
図9に示すように、運転支援装置100は、まずステップS01を実行する。ステップS01では、目的地情報取得部112が、ユーザインタフェース21への入力に基づいて車両2の目的地の情報を取得する。
次に、運転支援装置100はステップS02を実行する。ステップS02では、位置情報取得部113が、GPS受信機22から車両2の現在位置情報を取得する。
次に、運転支援装置100はステップS03を実行する。ステップS03では、車線情報取得部111が、運転支援サーバ200の地図データベース210から車線ネットワーク情報を取得する。
次に、運転支援装置100はステップS04を実行する。ステップS04では、渋滞情報取得部114が、運転支援サーバ200の地図データベース210から渋滞情報を取得する。
次に、運転支援装置100はステップS05を実行する。ステップS05では、経路探索部117が、車線ネットワーク情報と、目的地の情報と、車両2の現在位置情報と、渋滞情報とに基づいて、現在位置から目的地までの車両2の上記走行経路データを導出する。なお、上述したように道路ネットワーク情報を用いて走行経路データを導出してもよい。
次に、運転支援装置100はステップS06を実行する。ステップS06では、変更要否判定部141が、車両2の車線変更の要否を判定する。
ステップS06において、車両2の車線変更は不要であると判定した場合、運転支援装置100はステップS07を実行する。ステップS07では、変更要否判定部131は、車両2の進路変更の要否を判定する。なお、運転支援装置100は、車両2の進路変更の要否を判定した後に、車両2の車線変更の要否を判定してもよい。
ステップS06において車両2の車線変更は不要であると判定し、ステップS07において車両2の進路変更は不要であると判定した場合、運転支援装置100はステップS08,S09を実行する。ステップS08では、車線走行運転部121が、走行経路データ及び現在位置情報に基づいて、現在走行中の車線に沿って車両2を走行させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。ステップS09では、位置情報取得部113が、GPS受信機22から車両2の現在位置情報を取得する。
ステップS06において車両2の車線変更が必要であると判定した場合、運転支援装置100はステップS10を実行する。ステップS10では、車線変更制御部140が、ステップS06において必要であると判定された車線変更用の制御処理(以下、「車線変更サブルーチン」という。)を実行する。車線変更サブルーチンの具体的処理内容については後述する。
次に、運転支援装置100はステップS11を実行する。ステップS11では、車両2の車線変更が完了したか否かを変更要否判定部141が確認する。
ステップS11において、車両2の車線変更は完了していないと判定した場合、運転支援装置100はステップS12を実行する。ステップS12では、上記変更完了目標位置よりも前方に車線変更可能な区間が残されているか否かを目標位置設定部142が確認する。
ステップS12において、変更完了目標位置よりも前方に車線変更可能な区間が残されていると判定した場合、運転支援装置100は処理をステップS10に戻す。以後、必要とされる車線変更が完了するか、当該車線変更が可能な区間が無くなるまで車線変更サブルーチンが繰り返される。
ステップS12において、変更完了目標位置よりも前方に車線変更可能な区間は残されていないと判定した場合、運転支援装置100は処理をステップS05に戻す。これにより、走行経路データが再導出される。
ステップS07において車両2の進路変更が必要であると判定した場合、運転支援装置100はステップS13を実行する。ステップS13では、進路変更制御部130が進路変更用の制御処理(以下、「進路変更サブルーチン」という。)を実行する。進路変更サブルーチンの具体的処理内容については後述する。
ステップS09の実行後、ステップS13の実行後、又はステップS11において車両2の車線変更が完了したと判定した後、運転支援装置100はステップS14を実行する。ステップS14では、走行経路データ及び現在位置情報に基づいて、車両2が目的地に到達したか否かを車線走行運転部121が確認する。
ステップS14において、車両2は目的地に到達していないと判定した場合、運転支援装置100は処理をステップS06に戻す。以後、車両2が目的地に到達するまでは、車線に沿って走行するように車両2を制御すること、走行中の車線を変更するように車両2を制御こと、及び進路を変更するように車両2を制御することが繰り返される。
ステップS14において、車両2が目的地に到達したと判定した場合、運転支援装置100は運転支援手順を完了する。
(車線変更サブルーチン)
続いて、ステップS09の車線変更サブルーチンの手順を説明する。
図10に示すように、運転支援装置100は、まずステップS21を実行する。ステップS21は、車両2が走行中の車線区間が車線変更可であるか否かを判断することを含む。具体的には、次のような処理を行う。車線情報取得部111がステップS03で取得した車線ネットワーク情報と、車両2の現在位置(位置情報取得部113により取得された現在位置情報に基づく)とを参照して、車両2の現在位置が含まれる車線区間を特定する。その後、当該車線区間に対応する車線属性情報240の車線変更情報を参照することにより、当該車線区間が車線変更可であるか否であるかを判断する。例えば、当該車線区間が、レーンID「Lane001」の車線区間データ231に対応する区間である場合、レーンID「Lane001」の情報を含む車線属性情報240の車線変更情報を参照する。
次に、運転支援装置100はステップS22を実行する。ステップS22では、目標位置設定部142が、車線属性情報240を参照し、車両の現在位置から進行方向において、次の車線変更不可の車線区間の始点を基準にして上記変更完了目標位置を設定する。
次に、運転支援装置100はステップS23を実行する。ステップS23では、第二距離導出部143が、上記変更先の渋滞情報を渋滞情報取得部114により取得された渋滞情報から抽出し、車両2の現在位置から変更完了目標位置までの間における上記変更先の渋滞の有無を確認する。
ステップS23において、変更先の渋滞が有ると判定した場合、運転支援装置100はステップS24を実行する。ステップS24では、第二距離導出部143が上記第二距離(変更先の渋滞の終点から変更完了目標位置までの距離)を導出し、マージン設定部144が上記第二マージンを導出する。
次に、運転支援装置100はステップS25を実行する。ステップS25では、第二判定部145が、第二距離と第二マージンとの大小関係を判定する。
ステップS25において、第二距離は第二マージン以下であると判定した場合、運転支援装置100はステップS26を実行する。ステップS26では、目標位置変更部146が、変更完了目標位置を変更先の渋滞の始点を基準とした位置に変更する。
その後、運転支援装置100は処理をステップS23に戻す。以後、変更先の渋滞は無いと判定されるか、第二距離が第二マージンより大きいと判定されるまでは、変更完了目標位置の変更が繰り返される。
ステップS25において、第二距離は第二マージンより大きいと判定した場合、運転支援装置100はステップS27を実行する。ステップS23において、変更先の渋滞は無いと判定した場合、運転支援装置100は、ステップS24,S25,S26を実行することなくステップS27を実行する。ステップS27では、推奨位置設定部149が、車両2の車線変更の事由に応じて、車両2の車線変更の開始推奨位置を設定する。
次に、運転支援装置100はステップS28を実行する。ステップS28では、車線変更支援部150が車線変更支援処理を実行する。車線変更支援処理の具体的内容については後述する。
次に、運転支援装置100はステップS29を実行する。ステップS29では、車両2の車線変更が開始されたか否かを第一距離導出部147が確認する。
ステップS29において、車両2の車線変更は開始されていないと判定した場合、運転支援装置100はステップS30を実行する。ステップS30では、第一距離導出部147が、上記第一距離(車両2の現在位置から変更完了目標位置までの距離)を導出し、マージン設定部144が上記第一マージンを導出する。
次に、運転支援装置100はステップS31を実行する。ステップS31では、第一判定部148が、第一距離と第一マージンとの大小関係を判定する。
ステップS31において、第一距離が第一マージン以上であると判定した場合、運転支援装置100は処理をステップS28に戻す。以後、車両2の車線変更が開始されるか、第一距離が第一マージンより小さくなるまでは、車線変更支援処理が継続される。
ステップS29において、車両2の車線変更が開始されたと判定すると、運転支援装置100はステップS32を実行する。ステップS32では、車両2の車線変更が完了したか否かを車線変更運転部153が判定する。
ステップS32において、車両2の車線変更が完了していないと判定した場合、運転支援装置100は処理をステップS28に戻す。以後、車両2の車線変更が完了するまで車線変更支援処理が継続される。
ステップS32において、車両2の車線変更が完了したと判定した場合、運転支援装置100は処理を完了する。ステップS31において、第一距離が第一マージンより小さいと判定した場合も、運転支援装置100は処理を完了する。すなわち、車線変更支援部150は、第一距離が第一マージンより小さい場合に車線変更支援処理を中止する。以上でステップS09の車線変更サブルーチンが完了する。
なお、車線変更サブルーチンの手順は、必ずしも上記ステップS21〜S32に限定されない。地図データ220に基づき、車線変更を必要とする車両が走行中の前記区間が車線変更可である場合の手順は、車両が、次の車線変更不可の区間の始点の所定距離手前の地点よりも手前の地点を走行している場合には車線変更支援処理を実行し、次の車線変更不可の区間の始点の所定距離手前の地点を超えた地点を走行している場合には車線変更支援処理を中止するか、又は車両の減速を条件として車線変更支援処理を実行する限り、どのように構成されていてもよい。また車両の前方における変更先の車線に渋滞が発生している場合の手順ついても、車両が、前記変更先の車線の渋滞区間の始点の所定距離手前の地点よりも手前の地点を走行している場合には車線変更支援処理を実行し、前記変更先の車線の渋滞区間の始点の所定距離手前の地点を越えた地点を走行している場合には前記車線変更支援処理を中止するか、又は前記車両の減速を条件として前記車線変更支援処理を実行する限り、どのように構成されていてもよい。
続いて、ステップS28における車線変更支援処理の具体的内容を説明する。
図11に示すように、運転支援装置100は、まずステップS41を実行する。ステップS41では、走行経路データ及び現在位置情報に基づいて、車両2が開始推奨位置に到達したか否かを変更可否判定部151が確認する。
ステップS41において、車両2は開始推奨位置に到達したと判定した場合、運転支援装置100はステップS42を実行する。ステップS42では、走行経路データ、現在位置情報及び変更先の渋滞情報に基づいて、車両2が変更先の渋滞の終点に到達したか否かを変更可否判定部151が確認する。なお、ステップS41,S42の実行順序は入れ替え可能である。
ステップS41において、車両2は開始推奨位置に到達していないと判定した場合、又はステップS42において車両2は変更先の渋滞の終点に到達していないと判定した場合、運転支援装置100はステップS43,S44を実行する。ステップS43では、車線走行運転部152が、走行経路データ及び現在位置情報に基づいて、現在走行中の車線に沿って車両2を走行させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。ステップS44では、位置情報取得部113が、GPS受信機22から車両2の現在位置情報を取得する。
その後、運転支援装置100は処理をステップS41に戻す。以後、車両2が開始推奨位置に到達し、変更先の渋滞の終点に到達するまでは、現在走行中の車線に沿って車両2を走行させる制御が継続される。すなわち、車線変更支援部150は、車両2が開始推奨位置に到達し、車両2が変更先の渋滞の終点に到達するまで車線変更支援処理の実行を待機する。
ステップS41において車両2は開始推奨位置に到達したと判定し、ステップS42において車両2は変更先の渋滞の終点に到達したと判定した場合、運転支援装置100はステップS45を実行する。ステップS45では、他車情報取得部115が、車載カメラ23及びレーダ24からの情報に基づいて、車両2の周辺車両の走行状態に関する情報を取得する。
次に、運転支援装置100はステップS46を実行する。ステップS46では、変更可否判定部151が、周辺車両の走行状態に基づいて車両2の車線変更の可否を判定する。
ステップS46において、車線変更不可と判定した場合、運転支援装置100はステップS47を実行する。ステップS47では、車線走行運転部152が、走行経路データ及び現在位置情報に基づいて、現在走行中の車線に沿って車両2を走行させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
ステップS46において、車線変更可と判定した場合、運転支援装置100はステップS48を実行する。ステップS48では、車線変更運転部153が、走行経路データ及び現在位置情報に基づいて、現在走行中の車線から変更先の車線に車両2を移動させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。
ステップS47又はステップS48の後、運転支援装置100はステップS49を実行する。ステップS49では、位置情報取得部113が、GPS受信機22から車両2の現在位置情報を取得する。以上で車線変更支援処理が完了する。
図12〜図14は、いずれも、車両2が図示左側の道路車線LN1を走行しており、図示右側の道路車線LN2に車線変更しようとしている場合を例示している。図2と同様に、道路車線LN1,LN2は進行方向に沿って連なる複数の車線区間データ231により特定され、車線変更情報241により道路車線LN1,LN2間の車線変更の可否が特定され、渋滞情報242により渋滞が発生している区間が特定されている。破線矢印の車線変更情報241は車線変更不可を示し、実線矢印の車線変更情報241は車線変更可を示している。
いずれの例においても、まずは、車両2から見て次に車線変更不可となる車線区間の始点P1が変更完了目標位置TP1に設定される(ステップS22)。
図12の(a)の場合、変更先の渋滞の終点P2から変更完了目標位置TP1までの第二距離D2が第二マージンM2より大きいので、変更完了目標位置TP1の変更は行われず、変更完了目標位置TP1までの距離が第一マージンM1よりも大きい点P3が開始推奨位置SP1に設定される(ステップS27)。
その後、車両2が開始推奨位置SP1に到達し、変更先の渋滞の終点P2にも到達するまで待機した後に(ステップS41〜S44)、車線変更支援処理が実行され、第一距離D1が第一マージンM1より大きい状態にて車線変更可と判定されると、経路R1で示すように車線変更運転が実行される(ステップS48)。
図12の(b)の場合、変更先の渋滞の終点P2から変更完了目標位置TP1までの第二距離D2が第二マージンM2より小さいので、変更完了目標位置TP1が、変更先の渋滞の始点P4に基づく変更完了目標位置TP2に変更され(ステップS26)、変更完了目標位置TP2までの距離が第一マージンM1よりも大きい点P5が開始推奨位置SP2に設定される(ステップS27)。
その後、車両2が開始推奨位置SP2に到達するまで待機した後に(ステップS41〜S44)、車線変更支援処理が実行され、第一距離D1が第一マージンM1より大きい状態にて車線変更可と判定されると、経路R2で示すように車線変更運転が実行される(ステップS48)。
図13は、変更先の道路車線LN2において2つの渋滞が生じている場合を示している。図13では、図12の(b)と同様に、変更完了目標位置TP1が変更完了目標位置TP2に変更された後、後続の渋滞との関係で変更完了目標位置が調整される。
図13の(a)の場合、後続の渋滞の終点P6から変更完了目標位置TP2までの第二距離D2が第二マージンM2より大きいので、変更完了目標位置TP2の変更は行われず、変更完了目標位置TP2までの距離が第一マージンM1よりも大きい点P5が開始推奨位置SP2に設定される(ステップS27)。
その後、車両2が開始推奨位置SP2に到達し、後続の渋滞の終点P6にも到達するまで待機した後に(ステップS41〜S44)、車線変更支援処理が実行され、第一距離D1が第一マージンM1より大きい状態にて車線変更可と判定されると、経路R3で示すように車線変更運転が実行される(ステップS48)。
図13の(b)の場合、変更先の渋滞の終点P6から変更完了目標位置TP2までの第二距離D2が第二マージンM2より小さいので、変更完了目標位置TP2が、後続の渋滞の始点P7に基づく変更完了目標位置TP3に変更され(ステップS26)、変更完了目標位置TP3までの距離が第一マージンM1よりも大きい点P9が開始推奨位置SP3に設定される(ステップS27)。
その後、車両2が開始推奨位置SP3に到達するまで待機した後に(ステップS41〜S44)、車線変更支援処理が実行され、第一距離D1が第一マージンM1より大きい状態にて車線変更可と判定されると、経路R4で示すように車線変更運転が実行される(ステップS48)。
図14に示すように、第一距離D1が第一マージンM1より小さくなるまで車線変更可と判断されない場合には、道路車線LN1から道路車線LN2への車線変更は中止される。
(進路変更サブルーチン)
続いて、ステップS13の進路変更サブルーチンの手順を説明する。図15に示すように、運転支援装置100は、まずステップS51を実行する。ステップS51では、次の進路の車線が2以上であるか否かを第三距離導出部132が確認する。
ステップS51において、次の進路の車線は2以上であると判定した場合、運転支援装置100はステップS52を実行する。ステップS52では、次の進路において更に次の進路変更が予定されているか否かを第三距離導出部132が確認する。
ステップS52において、更に次の進路変更が予定されていると判定した場合、運転支援装置100はステップS53を実行する。ステップS53では、第三距離導出部132が、上記第三距離(次の進路における車線変更可能距離)を導出し、マージン設定部137が上記第三マージンを導出する。
次に、運転支援装置100はステップS54を実行する。ステップS54では、第三判定部133が、第三距離と第三マージンとの大小関係を判定する。
ステップS54において、第三距離は第三マージン以下であると判定した場合、運転支援装置100はステップS55を実行する。ステップS55では、車線選択部135が、次の進路の車線から更に次の進路変更用の車線を選択する。
ステップS54において、第三距離は第三マージンより大きいと判定した場合、運転支援装置100はステップS56を実行する。ステップS56では、車線選択部135が、次の進路の車線から直進用の車線を選択する。
ステップS55又はステップS56の後、運転支援装置100はステップS57,S58を実行する。ステップS51において次の進路の車線が1であると判定した場合、及びステップS52において更に次の進路変更は予定されていないと判定した場合、運転支援装置100は、ステップS53〜S56を実行することなくステップS57,S58を実行する。ステップS57では、進路変更運転部136が、走行経路データ及び現在位置情報に基づいて、車線選択部135により選択された車線に車両2を進入させるようにアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27を制御する。ステップS58では、位置情報取得部113が、GPS受信機22から車両2の現在位置情報を取得する。以上でステップS13の進路変更サブルーチンが完了する。
図16は、車両2が道路車線LN11を走行しており、進路変更のために道路車線LN12,LN13のいずれかに進入(左折)し、その後更なる進路変更(右折)を予定している場合を例示している。道路車線LN12は、直進用の車線であり、道路車線LN13は右折用の車線である。
図2と同様に、道路車線LN12,LN13は進行方向に沿って連なる複数の車線区間データ231により特定され、車線変更情報241により道路車線LN12,LN13間の車線変更の可否が特定され、渋滞情報242により渋滞が発生している区間が特定されている。破線矢印の車線変更情報241は車線変更不可を示し、実線矢印の車線変更情報241は車線変更可を示している。
図16の(a)の場合、第三距離が第三マージンM3よりも大きい。具体的には、道路車線LN13における渋滞の終点P11から、車線変更不可の車線区間(車両2から見て次に車線変更不可となる区間)の始点P12までの距離D3が第三マージンM3よりも大きい。この場合、道路車線LN12が選択され(ステップS56)、経路R6に示すように道路車線LN12に車両2を進入させる進路変更運転が実行される(ステップS57)。その後、道路車線LN12から道路車線LN13への車線変更支援処理が実行される。
図16の(b)の場合、第三距離が第三マージンM3よりも小さい。具体的には、道路車線LN13の最初の車線区間の始点から、道路車線LN13における渋滞の始点P13までの距離D4が第三マージンM3より小さく、当該渋滞の終点P11から、車線変更不可の車線区間の始点P12までの距離D5も第三マージンM3より小さい。この場合、道路車線LN13が選択され(ステップS55)、経路R7に示すように道路車線LN13に車両2を進入させる進路変更運転が実行される(ステップS57)。
〔本実施形態の効果〕
以上に説明したように、運転支援装置100は、複数の車線区間のデータを含む車線ネットワーク情報と、車線変更の可否を車線区間ごとに定める車線変更情報とを含む地図データにおいて、車線変更を必要とする車両が走行中の車線区間が車線変更可である場合に、次の車線変更不可の区間の始点を基準にして変更完了目標位置を設定する目標位置設定部142と、車両の現在位置から変更完了目標位置までの距離である第一距離と、予め設定された第一マージンとの大小関係を判定する第一判定部148と、第一距離が第一マージンより大きい場合には車線変更支援処理を実行し、第一距離が第一マージンより小さい場合には車線変更支援処理を中止するか、又は車両の減速を条件として車線変更支援処理を実行する車線変更支援部150と、を備える。
運転支援装置100によれば、地図データの参照により、変更完了目標位置を高い精度で設定できる。車両の現在位置から変更完了目標位置までの距離である第一距離が第一マージンより大きい場合には車線変更支援処理が実行され、第一距離が第一マージンより小さい場合には車線変更支援処理が中止されるか、又は車両の減速を条件として車線変更支援処理が実行されるので、車線変更を無理なく支援することができる。従って、車線変更に係る適切な運転支援の実現に有効である。
車両の現在位置から変更完了目標位置までの間における変更先の車線の渋滞の情報を取得する渋滞情報取得部114と、渋滞の終点から変更完了目標位置までの距離である第二距離と、第一マージン以上の第二マージンとの大小関係を判定する第二判定部145と、第二距離が第二マージンより小さい場合に、変更完了目標位置を渋滞の始点を基準とした位置に変更する目標位置変更部146と、を更に備えてもよく、車線変更支援部150は、第二距離が第二マージンより大きい場合に、車両が渋滞の終点に到達するまで車線変更支援処理の実行を待機してもよい。
この場合、第二距離が第二マージンより大きい場合には渋滞の終点の先で車線変更支援処理が実行され、第二距離が第二マージンより小さい場合には、渋滞の始点の手前で車線変更支援処理が実行されるので、効率のよい車線変更を促すことができる。いずれの場合においても、車両の現在位置と変更完了目標位置との間に第一マージンが残された状態で車線変更支援処理が行われるので、車線変更を無理なく支援することができる。
車両の車線変更の事由に応じて、車両の車線変更の開始推奨位置を設定する推奨位置設定部149を更に備えてもよく、車線変更支援部150は、車両が開始推奨位置に到達するまで車線変更支援処理の実行を待機してもよい。この場合、より適切なタイミングで車線変更を支援することができる。
車両の走行速度に応じて第一マージンを設定するマージン設定部144を更に備えてもよい。この場合、車線変更を更に無理なく支援することができる。
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、運転支援装置100は、必ずしもアクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27等を制御して車両2の自動運転を遂行するものでなくてもよい。例えば車線変更支援部150は、アクセルアクチュエータ25、ブレーキアクチュエータ26及びステアリングアクチュエータ27の制御に代えて、車線変更要否及び車線変更可否等をユーザインタフェース21により運転者に報知するものであってもよい。運転者への報知形態としては、音声による報知又は画像表示による報知等が挙げられる。
以上の実施形態の全部又は一部に記載された態様は、車線変更に係る適切な運転支援の実現に有効な運転支援装置の提供、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上又は適切な機能の提供その他の機能向上又は適切な機能の提供、データ及び/又はプログラムの容量の削減、装置及び/又はシステムの小型化等の適切なデータ、プログラム、記録媒体、装置及び/又はシステムの提供、並びにデータ、プログラム、装置又はシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置及び/又はシステムの制作・製造の適切化のいずれか一つの課題を解決する。