以下、本発明に係る自動運転支援装置を、ナビゲーション装置に具体化した一実施形態に基づき図面を参照しつつ詳細に説明する。先ず、本実施形態に係るナビゲーション装置1の概略構成について図1を用いて説明する。図1は本実施形態に係るナビゲーション装置1を示したブロック図である。
図1に示すように本実施形態に係るナビゲーション装置1は、ナビゲーション装置1が搭載された車両の現在位置を検出する現在位置検出部11と、各種のデータが記録されたデータ記録部12と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU13と、ユーザからの操作を受け付ける操作部14と、ユーザに対して車両周辺の地図やナビゲーション装置1で設定されている案内経路(車両の走行予定経路)に関する情報等を表示する液晶ディスプレイ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や障害物情報DB32や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部12をハードディスクの代わりにフラッシュメモリやメモリーカードやCDやDVD等の光ディスクを有しても良い。また、地図情報DB31は外部のサーバに格納させ、ナビゲーション装置1が通信により取得する構成としても良い。
ここで、地図情報DB31は、例えば、道路(リンク)に関するリンクデータ34、ノード点に関するノードデータ35、経路の探索や変更に係る処理に用いられる探索データ36、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
また、リンクデータ34としては、道路を構成する各リンクに関してリンクの属する道路の幅員、勾(こう)配、カント、バンク、路面の状態、ノード間のリンク形状(例えばカーブ道路ではカーブの形状)を特定する為の形状補完点データ、合流区間、道路構造、道路の車線数、車線数の減少する箇所、幅員の狭くなる箇所、踏切り等を表すデータが、コーナに関して、曲率半径、交差点、T字路、コーナの入口及び出口等を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。特に本実施形態では、道路の車線数に加えて、車線毎の進行方向の通行区分や道路の繋がり(具体的には、分岐においてどの車線がどの道路に接続されているか)を特定する情報についても記憶されている。更に、道路に設定されている制限速度についても記憶されている。
また、ノードデータ35としては、実際の道路の分岐点(交差点、T字路等も含む)や各道路に曲率半径等に応じて所定の距離毎に設定されたノード点の座標(位置)、ノードが交差点に対応するノードであるか等を表すノード属性、ノードに接続するリンクのリンク番号のリストである接続リンク番号リスト、ノードにリンクを介して隣接するノードのノード番号のリストである隣接ノード番号リスト、各ノード点の高さ(高度)等に関するデータ等が記録される。
また、探索データ36としては、出発地(例えば車両の現在位置)から設定された目的地までの経路を探索する経路探索処理に使用される各種データについて記録されている。具体的には、交差点に対する経路として適正の程度を数値化したコスト(以下、交差点コストという)や道路を構成するリンクに対する経路として適正の程度を数値化したコスト(以下、リンクコストという)等の探索コストを算出する為に使用するコスト算出データが記憶されている。
また、障害物情報DB32は、外部のサーバによって配信された障害物に関する障害物情報が記憶される記憶手段である。また、自車両の車外カメラ19やセンサによって検出した自車両の周囲に位置する障害物に関する障害物情報についても記憶される。ここで、障害物情報DB32に障害物情報が記憶される障害物は、車両において後述のように実施される自動運転支援に影響する対象物(要因)であり、例えば周辺を走行する他車両、路上に停車する駐車車両、工事区間、渋滞車両等が該当する。また、障害物情報は例えば障害物の種類と、障害物の地図上の位置座標(範囲に跨る場合には形状(占有領域)を特定する情報)と、障害物が特に移動体である場合には移動方向や移動速度とを含む。そして、ナビゲーションECU13は、後述のように地図情報DB31に記憶された地図情報や障害物情報DB32に記憶された障害物情報を用いて自動運転支援を実施する。
ここで、車両の走行形態としては、ユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路や道なりに沿って自動的に走行を行う自動運転支援による支援走行が可能である。尚、自動運転支援における車両制御では、例えば、車両の現在位置、車両が走行する車線、周辺の障害物の位置を随時検出し、車両制御ECU20によって予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、本実施形態の自動運転支援による支援走行では、車線変更や右左折についても自動運転制御により行う構成とするが、車線変更や右左折の一部については自動運転制御では行わない構成としても良い。
具体的に本実施形態では、右左折、合流、分岐等の特殊な状況下を除いて基本的に以下の2種類のいずれかの自動運転支援を行う。
(1)『車線維持走行支援』・・・車両が車線を逸脱することなく車線の中心付近を走行させる制御(例えばレーン・キーピング・アシスト)。
(2)『車線変更支援』・・・現在走行する車線から異なる車線へと移動させる制御。
尚、上記(1)、(2)のいずれの支援を実施するかは、車両が走行する道路に対して設定された目標とする走行軌道である目標走行軌道に基づいて決定される。また、上記(1)、(2)の制御と平行して、前方車両との車間距離を一定距離(例えば10m)に保つ制御や一定速度(例えば制限速度の80%)で走行する制御等についても実施される。
また、自動運転支援は全ての道路区間に対して行っても良いし、特定の道路区間(例えば境界にゲート(有人無人、有料無料は問わない)が設けられた高速道路)を車両が走行する間のみ行う構成としても良い。以下の説明では車両の自動運転支援が行われる自動運転区間は、一般道や高速道路を含む全ての道路区間とし、車両が道路上を走行する間において基本的に上記自動運転支援が行われるとして説明する。但し、車両が自動運転区間を走行する場合には必ず自動運転支援が行われるのではなく、ユーザにより自動運転支援を行うことが選択され(例えば自動運転開始ボタンをONする)、且つ自動運転支援による走行を行わせることが可能と判定された状況でのみ行われる。尚、自動運転支援の詳細については後述する。
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)13は、ナビゲーション装置1の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU41、並びにCPU41が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM42、制御用のプログラムのほか、後述の自動運転支援プログラム(図2参照)等が記録されたROM43、ROM43から読み出したプログラムを記憶するフラッシュメモリ44等の内部記憶装置を備えている。尚、ナビゲーションECU13は、処理アルゴリズムとしての各種手段を有する。例えば、走行軌道設定手段は、車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する。障害物検出手段は、障害物を検出する。制御目標地点設定手段は、目標走行軌道上であって軌道生成開始点から進行方向前方の位置に、障害物を回避する制御目標地点を設定する。制御軌道生成手段は、軌道生成開始点から制御目標地点へと走行する軌道を用いて、車両に走行させる制御軌道を生成する。
操作部14は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)を有する。そして、ナビゲーションECU13は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部14は液晶ディスプレイ15の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
また、液晶ディスプレイ15には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、案内経路に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ15の代わりに、HUDやHMDを用いても良い。
また、スピーカ16は、ナビゲーションECU13からの指示に基づいて案内経路に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
また、DVDドライブ17は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報DB31の更新等が行われる。尚、DVDドライブ17に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
また、通信モジュール18は、交通情報センタ、例えば、VICSセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。
また、車外カメラ19は、例えばCCD等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ19は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、車両制御ECU20は撮像された撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等の障害物を検出し、検出結果に基づいて車両の自動運転支援を行う。尚、車外カメラ19は車両前方以外に後方や側方に配置するように構成しても良い。また、障害物を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
また、車両制御ECU20は、ナビゲーション装置1が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ECU20にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、本実施形態では特に車両において自動運転支援が開始された後に、各駆動部を制御することにより車両の自動運転支援を実施する。また、自動運転支援中にユーザによってオーバーライドが行われた場合には、オーバーライドが行われたことを検出する。
ここで、ナビゲーションECU13は、走行開始後にCANを介して車両制御ECU20に対して自動運転支援に関する指示信号を送信する。そして、車両制御ECU20は受信した指示信号に応じて走行開始後の自動運転支援を実施する。尚、指示信号の内容は、車両が走行する軌道や走行車速等を指示する情報である。
続いて、上記構成を有する本実施形態に係るナビゲーション装置1においてCPU41が実行する自動運転支援プログラムについて図2に基づき説明する。図2は本実施形態に係る自動運転支援プログラムのフローチャートである。ここで、自動運転支援プログラムは、車両のACC電源(accessory power supply)がONされた後であって自動運転支援による車両の走行が開始された場合に実行され、設定された目標走行軌道に沿って走行する為の車両の自動運転支援を実施するプログラムである。また、以下の図2、図5、図9、図10及び図18にフローチャートで示されるプログラムは、ナビゲーション装置1が備えているRAM42やROM43に記憶されており、CPU41により実行される。
先ず、自動運転支援プログラムではステップ(以下、Sと略記する)1において、CPU41は、車両が今後走行する予定にある経路(以下、走行予定経路という)を取得する。尚、車両の走行予定経路は、ナビゲーション装置1において案内経路が設定されている場合には、ナビゲーション装置1において現在設定されている案内経路の内、車両の現在位置から目的地までの経路を走行予定経路とする。尚、案内経路はナビゲーション装置1によって設定された出発地から目的地までの推奨経路であり、例えば公知のダイクストラ法を用いて探索される。一方、ナビゲーション装置1において案内経路が設定されていない場合には、車両の現在位置から道なりに走行する経路を走行予定経路とする。
次に、S2においてCPU41は、地図情報DB31から走行予定経路の車線に関する車線情報を取得する。具体的には、走行予定経路を構成する道路に含まれる車線数、車線毎の進行方向の通行区分や道路の繋がり(分岐においてどの車線がどの道路に接続されているか)を特定する情報が取得される。
続いて、S3においてCPU41は、前記S1で取得した走行予定経路と前記S2で取得した車線情報とに基づいて、今後に車両が走行する道路に対して目標とする走行軌道である目標走行軌道50を設定する。尚、目標走行軌道50は、基本的には走行予定経路を構成する道路に含まれる車線の内、走行が推奨される車線の中心線に対して車両の進行方向に沿って設定される。例えば、図3に示す例では片側2車線の道路を車両が道なりに走行する場合であり、走行が推奨される左側の車線の中心線に対して目標走行軌道50が設定される。一方で、図4に示す例では、車線が左側に新たに増加する場合であって、車両がその後に左折又は左分岐する場合であり、車線の増加地点までは左側の車線の中心線に対して目標走行軌道50が設定され、車線が増加した後は増加した車線の中心線に対して目標走行軌道50が設定される。尚、走行予定経路の全経路を対象として上記目標走行軌道を設定しても良いが、車両の現在位置から所定距離(例えば300m)以内のみを対象として上記目標走行軌道を設定しても良い。その場合には、上記S1〜S3の処理は車両が所定距離走行する度に繰り返し実施される。
次に、S4においてCPU41は、前回の除外範囲距離を示すパラメータXn−1に初期値を設定する。初期値は例えば5mとするが、その値は適宜変更可能である。車両において現在実施されている自動運転支援の支援内容に基づいて初期値を変更しても良い。ここで、除外範囲距離は後述のように車両に走行させる制御軌道を生成する際(S6)に用いられるパラメータである。詳細については後述する。尚、パラメータXn−1はRAM42等に記憶される。
以下のS5〜S9の処理は、車両のACC電源(accessory power supply)がONされている間において一定周期(例えば100msec)毎に繰り返し実行される。そして、車両のACC電源がOFFされた後に当該自動運転支援プログラムを終了する。
先ず、S5においてCPU41は現在の車両において自動運転支援が実施されているか否かを判定する。尚、自動運転支援は例えばユーザによる自動運転開始ボタン等の操作によって実施のON/OFFを切り替えることが可能である。また、自動運転支援を実施することが困難な状況(例えば車両が走行する車線を区画する区画線が消失した場合等)となった際に実施が中止される場合もある。
そして、自動運転支援が実施されていると判定された場合(S5:YES)には、S6へと移行する。それに対して、自動運転支援が実施されていないと判定された場合(S5:NO)には、制御軌道の生成や生成された制御軌道に基づく自動運転支援を行うことなく当該自動運転支援プログラムを終了する。
S6においてCPU41は、後述の制御軌道生成処理(図5)を実行する。ここで、制御軌道生成処理は、今後に車両に走行させる軌道である制御軌道を生成する処理である。尚、制御軌道は後述のように車両の現在位置から進行方向に沿って停止距離(運転者がブレーキをかけると判断してから停止するまでに必要な距離)前方までの区間を対象として生成される。また、制御軌道は前記S3で設定された目標走行軌道にできる限り沿って走行する為の軌道であり、例えば車両の現在位置が目標走行軌道上又は周辺にある場合には、継続して目標走行軌道周辺に留まる軌道となり、一方で車両の現在位置が目標走行軌道から外れていた場合には、目標走行軌道上へと向かう軌道となる。
続いて、S7においてCPU41は、RAM42に格納された前回の除外範囲距離を示すパラメータXn−1を読み出し、直近に実施された前記S6で制御軌道を生成するのに用いられた除外範囲距離Xnの内、特に最初(走行時刻が0)に設定された除外範囲距離Xnを代入する。
次に、S8においてCPU41は、前記S6で生成された制御軌道に沿って車両が走行する為の制御量を演算する。具体的には、アクセル、ブレーキ、ギヤ及びステアリングの制御量が夫々演算される。
その後、S9においてCPU41は、S8において演算された制御量を反映する。具体的には、演算された制御量を、CANを介して車両制御ECU20へと送信する。車両制御ECU20では受信した制御量に基づいてアクセル、ブレーキ、ギヤ及びステアリングの各車両制御が行われる。その結果、車両が生成された制御軌道に沿って走行する走行支援制御が可能となる。
そして、一定周期(例えば100msec)毎に上記S5〜S9の処理を繰り返し実行することによって、直近に検出された車両の現在位置や方位から目標走行軌道に沿って走行させる為の最適な制御軌道の生成及び制御軌道に沿って走行させる為の自動運転支援を実施することが可能となる。
次に、前記S6において実行される制御軌道生成処理のサブ処理について図5に基づき説明する。図5は制御軌道生成処理のサブ処理プログラムのフローチャートである。
先ず、S11においてCPU41は、車両の現在の車速から現在の車両の“停止距離”を算出する。尚、“停止距離”は運転者がブレーキをかけると判断してから停止するまでに必要な距離であり、空走距離に0.2Gの減速度で停止する為の制動距離を加算した距離とする。尚、停止距離の具体的な算出方法については公知であるので詳細は省略する。
次に、S12においてCPU41は、パラメータである走行時刻tに初期値として0(0は現在時刻を意味する)を設定する。尚、走行時刻tはRAM42等に記憶される。
続いて、S13においてCPU41は、直近の除外範囲距離を示すパラメータXt−1に前回の除外範囲距離を示すパラメータXn−1を代入する。尚、前回の除外範囲距離を示すパラメータXn−1は前記S4又はS7で設定される。尚、パラメータXt−1はRAM42等に記憶される。
その後、S14においてCPU41は、後述の制御目標地点設定処理(図9、図10)を実行する。ここで、制御目標地点設定処理は、制御軌道を生成する際の目標点である制御目標地点を設定する処理である。尚、制御目標地点は、後述のように目標走行軌道上であって軌道生成開始点から車両において実施されている自動運転支援の支援内容に基づく距離だけ進行方向前方の位置に設定される。更に、目標走行軌道の周辺に障害物が存在する場合には、障害物を回避可能な位置に設定される。また、軌道生成開始点は現時点の走行時刻t(現在時刻からt時間後)において予測される車両の位置であり、後述のS17で特定される。特に走行時刻tが初期値である0の場合は、軌道生成開始点は車両の現在位置となる。
次に、S15においてCPU41は、軌道生成開始点から前記S14で設定された制御目標地点までの軌道(以下、走行軌道という)を生成する。具体的には車両が軌道生成開始点から制御目標地点までを、現在の車速で所定の操舵角以内で走行する軌道を走行軌道として生成する。また、軌道生成開始点は現時点の走行時刻t(現在時刻からt時間後)において予測される車両の位置である。また、軌道生成開始点における車両の方位は後述のS17で特定される。
その後、S16においてCPU41は、RAM42から走行時刻tを読み出し、100msec加算する。
続いて、S17においてCPU41は、車両が前記S15で生成された走行軌道の軌道生成開始点から走行軌道に沿って現在の車両の車速で走行したと仮定して、現時点の走行時刻t(現在時刻からt時間後)における車両の位置と方位を予測する。具体的には、軌道生成開始点から前記S15で生成された走行軌道に沿って現在の車両の車速で100ms走行した場合の走行距離だけ離れた地点を、現時点の走行時刻t(現在時刻からt時間後)における車両の位置とする。また、予測された車両の位置における走行軌道の接線方向が現時点の走行時刻t(現在時刻からt時間後)における車両の方位となる。
その後、S18においてCPU41は、走行時刻t=0(即ち現在時刻)の車両の位置から前記S17で予測された現時点の走行時刻tにおける車両の位置までの車両の走行距離を算出する。尚、車両は過去に走行時刻t毎に予測された各車両の位置を繋ぐ軌道を走行すると仮定して走行距離を算出する。
次に、S19においてCPU41は、前記S18で算出された走行距離が前記S11で算出された停止距離以上であるか否かを判定する。
そして、前記S18で算出された走行距離が前記S11で算出された停止距離未満であると判定された場合(S19:NO)には、S14へと戻る。そして、S16で加算後の走行時刻t(現在時刻からt時間後)において予測される新たな車両の位置を軌道生成開始点として、制御目標地点の設定及び走行軌道の生成を再度行う。そして、前記S18で算出された走行距離が前記S11で算出された停止距離以上と判定されるまで、走行時刻tを100msecずつ加算して前記S14〜S18の処理を繰り返し実行する
例えば、図6に示すように先ず走行時刻tが初期値である0(即ち現在時刻)の場合には、車両の現在位置を軌道生成開始点51として、目標走行軌道50上に制御目標地点52が設定される。そして、軌道生成開始点51から制御目標地点52までの走行軌道53が生成される。更に、生成された走行軌道53に沿って車両が100msec走行したと仮定して現在時刻から100msec後の車両位置54が予測される。
次に、図7に示すように100msec後の車両位置54(即ち走行時刻tが100msecの場合において予測される車両の位置)を新たな軌道生成開始点51として、目標走行軌道50上に新たな制御目標地点52が設定される。そして、同様に軌道生成開始点51から制御目標地点52までの走行軌道53が生成される。更に、生成された走行軌道53に沿って車両が100msec走行したと仮定して現在時刻から200msec後の車両の位置55が予測される。
以下同様にして現在時刻から300msec後の車両の位置、400msec後の車両の位置、・・・・が車両の走行距離が停止距離以上と判定されるまで予測される。
そして、前記S18で算出された走行距離が前記S11で算出された停止距離以上であると判定された場合(S19:YES)には、S20へと移行する。S20でCPU41は、前記S14〜S18の処理を繰り返し実行することによって特定された各走行時刻t(t=0、100msec、200msec、300msec、・・・)における車両の位置を繋いだ軌道を制御軌道として生成する。尚、各走行時刻tにおける車両の位置を繋ぐ際には、各位置における車両の方位についても考慮する。各位置における車両の方位は前記S17で特定されている。また、旋回回数が少なく旋回半径ができる限り大きくなるように繋ぐのが望ましい。
例えば、図8に示すように目標走行軌道50に対して現在時刻(走行時刻t=0)の車両の位置51、現在時刻から100msec後(走行時刻t=100msec)の車両の位置54、200msec後(走行時刻t=200msec)の車両の位置55、300msec後(走行時刻t=300msec)の車両の位置56が特定されている場合には、各車両の位置51、54、55、56を繋いだ軌道を制御軌道60として生成する。
尚、前記S15で生成された走行軌道53の一部を繋げて制御軌道60を生成しても良い。即ち、図6に示す軌道生成開始点51から予測車両位置54までの走行軌道53と、図7に示す軌道生成開始点51から予測車両位置55までの走行軌道53とを繋げた軌道を制御軌道60として生成しても良い。
次に、前記S14において実行される制御目標地点設定処理のサブ処理について図9及び図10に基づき説明する。図9及び図10は制御目標地点設定処理のサブ処理プログラムのフローチャートである。
先ず、S21においてCPU41は、前記S3で設定された目標走行軌道上に所定間隔で仮目標位置を設定する。仮目標位置は制御目標地点の候補となる点である。仮目標位置を狭い間隔でより多数設定すればより最適な制御目標地点を選択することが可能であるが、一方でCPU41の処理負担は増加する。仮目標位置を設定する間隔は例えば1mとする。尚、目標走行軌道の全軌道に対して仮目標位置を設定しても良いし、車両の現在位置周辺の目標走行軌道のみに対して仮目標位置を設定しても良い。
次に、S22においてCPU41は、車両において現在実施されている自動運転支援の支援内容を取得する。尚、本実施形態では、上述したように右左折、合流、分岐等の特殊な状況下を除いて基本的に『車線維持走行支援』と『車線変更支援』のいずれかの自動運転支援を行う。
また、S23においてCPU41は、RAM42に格納された直近の除外範囲距離を示すパラメータXt−1を読み出す。尚、直近の除外範囲距離を示すパラメータXt−1は、前記S13又は後述のS31で設定される。
続いて、S24においてCPU41は、前記S22の取得結果に基づいて車両において現在実施されている自動運転支援の支援内容が、『車線維持走行支援』と『車線変更支援』のいずれかであるか判定する。
そして、車両において現在実施されている自動運転支援の支援内容が『車線維持走行支援』であると判定された場合(S24:YES)には、S25へと移行する。一方、車両において現在実施されている自動運転支援の支援内容が『車線変更支援』であると判定された場合(S24:NO)には、S28へと移行する。
S25においてCPU41は、前記S23で取得された直近の除外範囲距離Xt−1が5mより大きいか否かを判定する。尚、直近の除外範囲距離Xt−1は、今回の制御軌道を生成するに際して過去に実施された制御目標地点設定処理(S14)の内、特に直近に実施された制御目標地点設定処理(S14)で設定された除外範囲距離を示す値である。但し、走行時刻tが0の場合、即ち今回の制御軌道を生成するに際して最初に制御目標地点設定処理が実行された場合には、前回の制御軌道を生成する際に設定された除外範囲距離を示す値となる(S7、S13)。また、除外範囲距離は、後述のように仮目標位置から制御目標地点を選択するに際して、制御目標地点の初期段階の選択対象から除外する範囲(以下、除外範囲という)の大きさを定義する距離であり、具体的には軌道生成開始点を中心とした除外範囲距離内の範囲を除外範囲とする。
そして、直近の除外範囲距離Xt−1が5mより大きいと判定された場合(S25:YES)には、S27へと移行する。それに対して、直近の除外範囲距離Xt−1が5m以下であると判定された場合(S25:NO)には、S26へと移行する。
S26においてCPU41は、今回の除外範囲距離Xtを5mに設定する。その後、S31へと移行する。
S27においてCPU41は、今回の除外範囲距離Xtを『Xt−1−1m』と『5m』の内、大きい方の値とする。その後、S31へと移行する。
一方、S28においてCPU41は、前記S23で取得された直近の除外範囲距離Xt−1が10mより大きいか否かを判定する。
そして、直近の除外範囲距離Xt−1が10mより大きいと判定された場合(S28:YES)には、S30へと移行する。それに対して、直近の除外範囲距離Xt−1が10m以下であると判定された場合(S28:NO)には、S29へと移行する。
S29においてCPU41は、今回の除外範囲距離Xtを20mに設定する。その後、S31へと移行する。
一方、S30においてCPU41は、今回の除外範囲距離Xtを『Xt−1−1m』と『10m』の内、大きい方の値とする。その後、S31へと移行する。
上記S26、S27、S29、S30の処理を実行することによって、複数の仮目標位置から制御目標地点を選択するに際して、制御目標地点の初期段階の選択対象から除外する範囲である除外範囲が設定される。尚、除外範囲を広く設定すると、車両の現在位置が目標走行軌道から外れていた場合には軌道の修正に時間がかかるが、より緩やかで車両方位の変化の少ない旋回を描く制御軌道となる。一方で、除外範囲を狭く設定すると、車両の現在位置が目標走行軌道から外れていた場合に短時間で軌道の修正が可能となるが、急な旋回を描く制御軌道になり易い。
ここで、車両において『車線維持走行支援』が行われている場合には、図11に示すように基本的に狭い除外範囲61(例えば軌道生成開始点51を中心とした5m内)が設定される(S26)。車両において『車線維持走行支援』が行われている場合には、比較的機敏に走行位置を修正できた方が、車線中央からずれることが少なくなり、ふらつきを抑えることができる。従って、『車線維持走行支援』が行われている場合においては、制御目標地点を比較的近い位置に設定した方が優位になることが多い。従って、基本的に狭い除外範囲61を設定する。
但し、車両において『車線維持走行支援』が行われている場合であっても、前回の走行時刻tにおける処理で除外範囲が広く(例えば除外範囲距離>5m)設定されていた場合については、狭い除外範囲に一度に切り替えるのではなく、複数段階で徐々に除外範囲を狭く切り替える(S27)。具体的には、走行時刻tが100ms加算される毎に除外範囲距離を1mずつ短くする(但し最小は5mとする)。ここで、制御目標地点を軌道生成開始点51の遠方から近傍へと急に変化させると、生成される制御軌道の旋回半径が急に小さく(横加速度が急に大きく)なる虞がある。本実施形態では、除外範囲を狭くする場合には段階的に狭くすることによって上記問題を解消することが可能となる。尚、逆に除外範囲を広くする場合においては上記問題が生じないので複数段階で広げるのではなく1段階で広げても良い。
一方、車両において『車線変更支援』が行われている場合には、初期段階では図12に示すように基本的に広い除外範囲(例えば軌道生成開始点51を中心とした20m内)が設定される(S29)。その後、『車線変更支援』を継続するにあたって走行時刻tが100ms加算される毎に除外範囲距離を1mずつ短くする(S30、但し最小は10mとする)。ここで、車両において『車線変更支援』が行われている場合には、急いで車線変更する必要がある場合を除いて、比較的緩やかに走行位置を変化させ、車線に対して車体の角度をつけすぎずに移動することが好ましい。従って、『車線変更支援』が行われている場合においては、制御目標地点を比較的遠い位置に設定した方が優位になることが多い。そこで、『車線維持走行支援』よりも広い除外範囲61を設定する。特に、車線変更の制御開始時は除外範囲を広くすることによって、よりスムーズな車線変更制御が可能となる。尚、除外範囲を初期段階から狭くする場合には、『車線維持走行支援』が行われている場合と同様に段階的に狭くすることによって生成される制御軌道の旋回半径が急に小さく(横加速度が急に大きく)ことを防止する。
ここで、図13は走行時刻tの変位に伴う除外範囲の具体的な設定例を示した図である。尚、図13では、走行時刻tが0(現在時刻)〜100msの間において自動運転支援として『車線維持走行支援』が実施され、走行時刻tが200ms〜1400msの間において『車線変更支援』が実施され、走行時刻tが1500ms以降において再び『車線維持走行支援』が実施される場合を例に挙げて説明する。
図13に示すように先ず自動運転支援の内容が『車線維持走行支援』が行われている走行時刻tが0(現在時刻)〜100msの間においては、除外範囲距離が5mとなり、軌道生成開始点51を中心とした5m内が除外範囲として設定される(S26)。その後に、走行時刻tが200msのタイミングで自動運転支援の内容が『車線維持走行支援』から『車線変更制御』へと切り替わると、除外範囲距離は5mから20mへと1段階で切り替わり、軌道生成開始点51を中心とした20m内が除外範囲として設定される(S29)。そして、走行時刻tが200ms〜1400msの間においては『車線変更支援』が継続して実施されるので、除外範囲距離が20mから徐々に短くなり、除外範囲も徐々に狭くなる(S30)。但し、下限は除外範囲距離が10mであるので、除外範囲距離が10mに到達した後はそれ以上短くすることなく維持される。また、走行時刻tが1500msのタイミングで自動運転支援の内容が『車線変更制御』から『車線維持走行支援』へと切り替わると、その後は除外範囲距離が10mから5mへと複数段階で段階的に切り替わる。具体的には、走行時刻tが100ms加算される毎に除外範囲距離を1mずつ短くする。それに伴って除外範囲も徐々に狭くなる(S27)。そして、除外範囲距離が5mに到達した後はそれ以上短くすることなく維持される。
尚、本実施形態では以下に説明するように前記S21で設定された仮目標位置の内、先ず前記S26、S27、S29、S30で設定された除外範囲の外にある仮目標位置を候補として制御目標地点を設定する。但し、車両の走行する軌道周辺に障害物があって、除外範囲の外で障害物を回避する制御目標地点が設定できない場合には、除外範囲内にある仮目標位置についても候補として制御目標地点を設定する。
その後、S31においてCPU41は、RAM42に格納された直近の除外範囲距離を示すパラメータXt−1を読み出し、前記S26、S27、S29、S30のいずれかで設定された今回の除外範囲距離Xtを代入(更新)する。
以下のS32〜S35の処理は、前記S21で設定された仮目標位置の内、制御目標地点の候補となる仮目標位置を対象に、軌道生成開始点から近い順に仮目標位置毎に実行する。尚、S32〜S35の処理において制御目標地点の候補となる仮目標位置は、前記S26、S27、S29、S30で設定された除外範囲の外にあって、且つ軌道生成開始点51から所定距離以内(例えば300m以内)にある仮目標位置とする。例えば、図14に示す例では、目標走行軌道50に対して仮目標位置62が所定間隔(例えば1m間隔)で設定されているが、軌道生成開始点51から今回の除外範囲距離Xt以内の除外範囲61外にある仮目標位置62を制御目標地点の候補とする。そして、除外範囲61外にある仮目標位置62の内、最も軌道生成開始点51に近い地点P1を対象に先ずS32〜S35の処理が行われる。その後、P2、P3、・・・の順にS32〜S35の処理が行われる。
先ず、S32においてCPU41は、軌道生成開始点から処理対象の仮目標位置へと到達する軌道(以下、到達軌道という)を生成する。具体的には軌道生成開始点から処理対象の仮目標位置までを、最も旋回半径が大きくなるように繋いだ軌道を到達軌道として生成する。更に、前記S32においてCPU41は、生成した到達軌道に含まれる旋回の内、最小の旋回半径を算出する。即ち、前記S32では軌道生成開始点から処理対象の仮目標位置へと到達するのに必要な最小の旋回半径が算出される。尚、軌道生成開始点は現時点の走行時刻t(現在時刻からt時間後)において予測される車両の位置であり、前記S17で特定される。特に走行時刻tが初期値である0の場合は、軌道生成開始点は車両の現在位置となる。
次に、S33においてCPU41は、後述の障害物判定処理(図18)を実行する。ここで、障害物判定処理は、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できる軌道であるか否かを判定する処理である。尚、障害物は自動運転支援に影響する対象物(要因)であり、例えば周辺を走行する他車両、路上に停車する駐車車両、工事区間、渋滞車両等が該当する。
続いて、S34においてCPU41は、前記S33の障害物判定処理の結果に基づいて、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できる軌道であるか否かを判定する。
そして、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できる軌道であると判定された場合(S34:YES)には、S35へと移行する。一方、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できない軌道であると判定された場合(S34:NO)には、処理対象となる仮目標位置を次に軌道生成開始点に近い他の仮目標位置へと切り替えた後にS32以降の処理を再度実行する。
S35においてCPU41は、前記S32で算出された旋回半径が閾値以上であるか否かを判定する。尚、閾値は、走行する車両の自動運転支援に係る走行制御を適切に行うことができ、且つ走行中の車両の乗員に負担が生じない条件を満たす最小の旋回半径とする。例えば、横加速度が0.2G以下であることを条件とすると、閾値は以下の式(1)により算出される。
閾値=車速2/(0.2G×9.80665)・・・・(1)
そして、前記S32で算出された旋回半径が閾値以上であると判定された場合(S35:YES)には、S36へと移行する。そして、S36においてCPU41は、処理対象の仮目標位置を制御目標地点に設定する。即ち、除外範囲の外で軌道生成開始点から近い位置にある仮目標位置を優先して制御目標位置に設定することとなる。
一方、前記S32で算出された旋回半径が閾値未満であると判定された場合(S35:NO)には、処理対象となる仮目標位置を次に軌道生成開始点に近い他の仮目標位置へと切り替えた後にS32の処理を再度実行する。そして、処理対象となる全ての仮目標位置を対象として前記S32〜S35の処理を実行した結果、障害物を回避でき且つ旋回半径が閾値以上となる仮目標位置が存在しない場合には、S37へと移行する。
S37においてCPU41は、前記S33の障害物判定処理の結果に基づいて、軌道生成開始点から前記S32〜S35において処理対象となった全ての仮目標位置へと到達する各到達軌道がいずれも障害物を回避できない軌道であったか否かを判定する。
そして、軌道生成開始点から前記S32〜S35において処理対象となった全ての仮目標位置へと到達する各到達軌道がいずれも障害物を回避できない軌道であったと判定された場合(S37:YES)には、S39へと移行する。一方、障害物を回避できる仮目標位置があったと判定された場合(S37:NO)には、S38へと移行する。
S38においてCPU41は、前記S32〜S35において処理対象となった仮目標位置(除外範囲の外、且つ軌道生成開始点51から所定距離以内(例えば300m以内)にある仮目標位置)であって且つ障害物を回避できる仮目標位置の内、前記S32で算出された旋回半径の最も大きい仮目標位置を制御目標地点に設定する。尚、対象が複数ある場合には該当する複数の仮目標位置の内、最も軌道生成開始点に近い仮目標位置を制御目標地点に設定する。
一方、S39及びS40の処理は、前記S21で設定された仮目標位置の内、制御目標地点の候補となる仮目標位置を対象に、軌道生成開始点から遠い順に仮目標位置毎に実行する。尚、S39及びS40の処理において制御目標地点の候補となる仮目標位置は、前記S26、S27、S29、S30で設定された除外範囲内にある仮目標位置とする。例えば、図15に示す例では、目標走行軌道50に対して仮目標位置62が所定間隔(例えば1m間隔)で設定されているが、軌道生成開始点51から今回の除外範囲距離Xt以内の除外範囲61内にある仮目標位置62について制御目標地点の候補とする。そして、除外範囲61内にある仮目標位置62の内、最も軌道生成開始点51に遠い地点P11を対象に先ずS39及びS40の処理が行われる。その後、P12、P13、・・・の順にS39及びS40の処理が行われる。但し、軌道生成開始点51より車両の進行方向に対して後方にある仮目標位置62については処理対象から除外する。
先ず、S39においてCPU41は、前記S32と同様に軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道を生成する。更に、前記S39においてCPU41は、生成した到達軌道に含まれる旋回の内、最小の旋回半径を算出する。即ち、前記S32では軌道生成開始点から処理対象の仮目標位置へと到達するのに必要な最小の旋回半径が算出される。
次に、S40においてCPU41は、後述の障害物判定処理(図18)を実行する。ここで、障害物判定処理は、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できる軌道であるか否かを判定する処理である。
続いて、S41においてCPU41は、前記S40の障害物判定処理の結果に基づいて、軌道生成開始点から前記S39及びS40において処理対象となった全ての仮目標位置へと到達する各到達軌道がいずれも障害物を回避できない軌道であったか否かを判定する。
そして、軌道生成開始点から前記S39及びS40において処理対象となった全ての仮目標位置へと到達する各到達軌道がいずれも障害物を回避できない軌道であったと判定された場合(S41:YES)には、S42へと移行する。一方、障害物を回避できる仮目標位置があったと判定された場合(S41:NO)には、S38へと移行する。
S38においてCPU41は、前記S39及びS40において処理対象となった仮目標位置(除外範囲内にある仮目標位置)であって且つ障害物を回避できる仮目標位置の内、前記S39で算出された旋回半径の最も大きい仮目標位置を制御目標地点に設定する。尚、対象が複数ある場合には該当する複数の仮目標位置の内、最も軌道生成開始点から遠い仮目標位置を制御目標地点に設定する。
一方、S42においてCPU41は、障害物を回避するための車両の制御軌道を設定することが困難であると判定する。その結果、CPU41は障害物を回避する為の緊急の回避制御の実行指示を、CANを介して車両制御ECU20へと送信する。尚、緊急の回避制御としては例えばAEB(Autonomous Emergency. Braking)がある。
上記S32〜S42の処理を行った結果、図16に示すように目標走行軌道50に対して仮目標位置62が所定間隔で設定されている場合には、先ず除外範囲61外にある仮目標位置62の内、最も軌道生成開始点51に近い地点P1を対象に地点P1に到達する到達軌道L1が生成され、該到達軌道L1が障害物63を回避でき且つ旋回半径が閾値以上か否か判定される。そして、到達軌道L1が障害物63を回避できない或いは旋回半径が閾値未満である場合には、次に軌道生成開始点51に近い地点P2を対象に地点P2に到達する到達軌道L2が生成され、該到達軌道L2が障害物63を回避でき且つ旋回半径が閾値以上か否か判定される。更に、到達軌道L2が障害物63を回避できない或いは旋回半径が閾値未満である場合には、次に軌道生成開始点51に近い地点P3を対象に地点P3に到達する到達軌道L3が生成され、該到達軌道L3が障害物63を回避でき且つ旋回半径が閾値以上か否か判定される。以下同様にして、軌道生成開始点51に近い順に各地点へ到達する到達軌道が障害物63を回避でき且つ旋回半径が閾値以上であるか否か判定される。そして、障害物63を回避でき且つ旋回半径が閾値以上であって、軌道生成開始点51に最も近い仮目標位置62を制御目標地点に設定する。一方、旋回半径が閾値以上となる仮目標位置62が存在しない場合には、障害物63を回避できる仮目標位置62の内、最も旋回半径の大きい仮目標位置62を制御目標地点に設定する。
更に、除外範囲61外に障害物63を回避できる仮目標位置62が存在しない場合には、図17に示すように除外範囲61内にある仮目標位置62についても制御目標地点の候補とする。先ず、除外範囲61内にある仮目標位置62の内、最も軌道生成開始点51から遠い地点P11を対象に地点P11に到達する到達軌道L11が生成され、該到達軌道L11が障害物63を回避できるか否か判定される。以下同様に除外範囲61内にある他の仮目標位置62である地点P12、P13についても対象に到達軌道L12、L13が生成され、該到達軌道L12、L13が障害物63を回避できるか否か判定される。そして、障害物63を回避できる仮目標位置62の内、最も旋回半径の大きい仮目標位置62を制御目標地点に設定する。
次に、前記S33及びS40において実行される障害物判定処理のサブ処理について図18に基づき説明する。図18は障害物判定処理のサブ処理プログラムのフローチャートである。
先ず、S51においてCPU41は、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道を読み出す。尚、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道は、前記S32又はS39で生成される。
次に、S52においてCPU41は、パラメータである判定時刻Tに初期値として0(0は現時点の走行時刻tに相当する)を設定する。尚、判定時刻TはRAM42等に記憶される。
その後、S53においてCPU41は、RAM42から判定時刻Tを読み出し、10msec加算する。
次に、S54においてCPU41は、車両が前記S51で読み出した到達軌道の軌道生成開始点から到達軌道に沿って現在の車両の車速で走行したと仮定して、現時点の判定時刻T(走行時刻tからT時間後)における車両の位置と方位を予測する。具体的には、軌道生成開始点から前記S51で読み出した到達軌道に沿って現在の車両の車速で10ms走行した場合の走行距離だけ離れた地点を、現時点の判定時刻T(走行時刻tからT時間後)における車両の位置とする。また、予測された車両の位置における到達軌道の接線方向が現時点の判定時刻T(走行時刻tからT時間後)における車両の方位となる。
続いて、S55においてCPU41は、前記S54で予測された車両の位置及び方位と車両情報(車両の全長、全幅)とに基づいて、車両が前記S51で読み出した到達軌道の軌道生成開始点から到達軌道に沿って現在の車両の車速で走行したと仮定して、現時点の判定時刻T(走行時刻tからT時間後)における車両の占有領域を算出する。例えば図19に示すような軌道生成開始点51から処理対象の仮目標位置62までの到達軌道65が生成されている場合には、現時点の判定時刻Tにおいて予測される車両の位置66を含み、予測される方位を進行方向とした車両の形状に対応する領域67が判定時刻Tにおける車両の占有領域となる。尚、前記S55では、誤差を考慮する為に一旦算出された車両の占有領域を所定範囲(例えば前後左右25cmずつ)広げた領域を最終的な車両の占有領域として算出する。
一方、S56においてCPU41は、障害物情報DB32に記憶された障害物情報に基づいて、現時点の判定時刻T(走行時刻tからT時間後)における障害物の占有領域を算出する。尚、障害物は、車両において後述のように実施される自動運転支援に影響する対象物(要因)であり、例えば周辺を走行する他車両、路上に停車する駐車車両、工事区間、渋滞車両等が該当する。また、障害物情報DB32には障害物の形状や、障害物が移動体である場合には移動方向や移動速度を特定する情報を含んでいる。従って、障害物が特に移動体である場合には、検出時点の障害物の占有領域に対して移動方向及び移動速度を考慮して判定時刻Tにおける障害物の占有領域を算出する。一方、障害物が移動体でない場合には、検出時点の障害物の占有領域が判定時刻Tにおける障害物の占有領域にも相当する。尚、車両の進行方向周辺に障害物が存在しない(障害物情報が無い)場合には、障害物の占有領域は存在しないと特定する。また、車両の進行方向周辺に障害物が存在しない(障害物情報が無い)場合には、S51〜S59の処理は省略しても良い。
その後、S57においてCPU41は、前記S55で算出された現時点の判定時刻T(走行時刻tからT時間後)における車両の占有領域と、前記S56で算出された現時点の判定時刻T(走行時刻tからT時間後)における障害物の占有領域とを比較し、両者の占有領域の少なくとも一部が重複するか否かを判定する。尚、重複しなくても所定距離(例えば30cm)以内まで接近する場合には重複するとみなしても良い。
そして、両者の占有領域の少なくとも一部が重複すると判定された場合(S57:YES)には、S58へと移行する。それに対して、両者の占有領域が重複しないと判定された場合(S57:NO)には、S59へと移行する。
S58においてCPU41は、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できない軌道であると判定する。尚、判定結果はフラッシュメモリ44等に記憶される。その後、当該障害物判定処理のサブ処理を終了する。
一方、S59においてCPU41は、RAM42から現時点の判定時刻Tを読み出し、判定時刻Tが100msec以上であるか否かを判定する。
そして、判定時刻Tが100msec以上であると判定された場合(S59:YES)、即ち判定時刻Tが10msec〜100msecまでの間において車両の占有領域と障害物の占有領域が重複しないと判定された場合には、S60へと移行する。それに対して、判定時刻Tが100msec未満であると判定された場合(S59:NO)には、S53へと戻る。その後、判定時刻Tが10msec加算され、新たな判定時刻Tにおける車両と障害物の占有領域の比較(S54〜S57)が行われる。
S60においてCPU41は、軌道生成開始点から処理対象の仮目標位置へと到達する到達軌道が障害物を回避できる軌道であると判定する。尚、判定結果はフラッシュメモリ44等に記憶される。その後、当該障害物判定処理のサブ処理を終了する。
以上詳細に説明した通り、本実施形態に係るナビゲーション装置1及びナビゲーション装置1で実行されるコンピュータプログラムでは、車両が走行する道路に対して目標とする走行軌道である目標走行軌道50を設定し(S3)、目標走行軌道50上であって障害物を回避できる進行方向前方の位置に、制御目標地点52を設定し(S14)、軌道生成開始点51から制御目標地点52へと走行する軌道を用いて、車両に走行させる制御軌道60を生成する(S20)ので、自動運転支援による車両の走行が行われている場合において、障害物を回避する制御軌道を生成することが可能となる。従って、障害物が存在した場合であっても自動運転支援による走行を車両の停止制御を行うことなしにできる限り継続して行うことが可能である。
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、到達軌道が障害物を回避できる軌道であるか否かの判定(S57)を、判定時刻T毎の車両と障害物の占有領域を比較することにより行っているが、他の方法を用いても良い。例えば、障害物の移動軌道を算出し、到達軌道と障害物の移動軌道が所定距離以内に接近するか否かを判定し、所定距離以内に接近しない場合に到達軌道が障害物を回避できる軌道であると判定しても良い。
また、本実施形態では、車両に対して行われる自動運転支援として特に『車線維持走行支援』と『車線変更支援』を例に挙げて説明しているが、それ以外の自動運転支援が行われる場合においても実施可能である。例えば、前方車両との車間距離を一定距離(例えば10m)に保つ制御、一定速度(例えば制限速度の80%)で走行する制御を行う自動運転支援がある。それらの支援内容に応じて除外範囲距離を適宜設定することにより、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能となる。
また、本実施形態では、『車線維持走行支援』が行われている場合には除外範囲距離を基本的に5mに設定し、『車線変更支援』が行われている場合には除外範囲距離を基本的に10m〜20mに設定しているが、その距離は適宜変更可能である。例えば、障害物が近くにある場合には除外範囲距離をより短い距離(例えば2.5m)に設定しても良い。
また、本実施形態では、『車線変更支援』が継続して実施される場合において除外範囲距離を時間経過に伴って徐々に短く設定しているが、『車線維持走行支援』が継続して実施される場合においても同様に除外範囲距離を時間経過に伴って徐々に短く設定しても良い。更に、『車線変更支援』が継続して実施された場合であっても、除外範囲距離を短くすることなく固定の距離としても良い。
また、本実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ECU20が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転支援として説明してきた。しかし、自動運転支援を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ECU20が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
また、本実施形態では、自動運転支援プログラム(図2)をナビゲーション装置1が実行する構成としているが、車両制御ECU20が実行する構成としても良い。その場合には、車両制御ECU20は車両の現在位置や地図情報等をナビゲーション装置1から取得する構成とする。
また、本発明はナビゲーション装置以外に、経路探索機能を有する装置に対して適用することが可能である。例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等(以下、携帯端末等という)に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転支援プログラム(図2参照)の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転支援が実行可能な車両と携帯端末等が通信可能に接続(有線無線は問わない)される必要がある。
また、本発明に係る自動運転支援装置を具体化した実施例について上記に説明したが、自動運転支援装置は以下の構成を有することも可能であり、その場合には以下の効果を奏する。
例えば、第1の構成は以下のとおりである。
車両において実施する自動運転支援に用いる支援情報を生成する自動運転支援装置(1)であって、車両が走行する道路に対して目標とする走行軌道である目標走行軌道(50)を設定する走行軌道設定手段(41)と、障害物(63)を検出する障害物検出手段(41)と、前記目標走行軌道上であって軌道生成開始点(51)から進行方向前方の位置に、前記障害物を回避する制御目標地点(52)を設定する制御目標地点設定手段(41)と、前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道(60)を生成する制御軌道生成手段(41)と、を有し、前記制御目標地点設定手段は、前記軌道生成開始点から所定距離内の範囲を除外範囲として設定し、前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定する。
上記構成を有する自動運転支援装置によれば、自動運転支援による車両の走行が行われている場合において、障害物を回避する制御軌道を生成することが可能となる。従って、障害物が存在した場合であっても自動運転支援による走行を車両の停止制御を行うことなしにできる限り継続して行うことが可能である。
また、制御目標地点は軌道生成開始点に対して一定距離以上離れた位置に優先的に設定されるので、制御のハンチングが生じることを防止できる。例えば、制御目標地点を軌道生成開始点に対して接近して設定すると、生成される制御軌道と実施される車両制御との間でズレが生じる虞があるが、そのような問題を解消できる。また、制御のハンチングが生じることを防止する範囲でできる限り軌道生成開始点から近い位置に制御目標地点を設定するので、できる限り目標走行軌道に沿った制御軌道を生成することが可能となる。
また、第2の構成は以下のとおりである。
前記制御目標地点の設定並びに前記算出軌道の算出は複数回繰り返し行われ、先ず車両の現在位置を最初の軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われ、以降は前回の軌道生成開始点から前記制御目標地点(52)へと走行する軌道に沿って走行すると仮定した所定時間後の車両の予測位置を新たな軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われる。
上記構成を有する自動運転支援装置によれば、車両の現在位置に加えて所定時間後の車両位置を開始点としてそれぞれ目標走行軌道へと向かう軌道を生成し、生成した各軌道から最終的な制御軌道を生成するので、時間経過に伴う車両の位置と目標走行軌道の位置関係を用いて目標走行軌道に沿って走行させる為のより適切な制御軌道を生成することが可能となる。
また、第3の構成は以下のとおりである。
前記制御軌道生成手段(41)は、算出された複数の前記算出軌道について、算出軌道毎の前記軌道生成開始点(51)から前記算出軌道に沿って走行すると仮定した所定時間後の車両の予測位置を繋いだ軌道を前記制御軌道として生成する。
上記構成を有する自動運転支援装置によれば、車両の現在位置と所定時間後の車両位置とを開始点としてそれぞれ目標走行軌道へと向かう軌道を生成し、生成した各軌道を繋げて最終的な制御軌道を生成するので、時間経過に伴う車両の位置と目標走行軌道の位置関係を用いて目標走行軌道に沿って走行させる為の適切な制御軌道を生成することが可能となる。
また、第4の構成は以下のとおりである。
前記制御目標地点設定手段(41)は、前記除外範囲(61)の外で前記障害物(63)を回避する前記制御目標地点(52)が設定できない場合には、前記除外範囲内で前記軌道生成開始点(51)から到達する軌道の旋回半径が大きくなる位置を優先して前記制御目標地点を設定する。
上記構成を有する自動運転支援装置によれば、制御目標地点を除外範囲の外に設定することができない場合には、除外範囲内にあってできる限り制御のハンチングを防止することが可能な位置に制御目標地点を設定することが可能となる。
また、第5の構成は以下のとおりである。
前記制御目標地点設定手段(41)は、前記軌道生成開始点(51)から前記制御目標地点(52)へと到達する軌道の最小の旋回半径が閾値以上となることを条件として前記制御目標地点を設定する。
上記構成を有する自動運転支援装置によれば、走行する車両の自動運転支援に係る走行制御を適切に行うことができ、且つ走行中の車両の乗員に負担が生じない制御軌道を生成することが可能となる。