(57)【特許請求の範囲】
【請求項１】
車両において実施する自動運転支援に用いる支援情報を生成する自動運転支援装置であって、
車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する走行軌道設定手段と、
前記目標走行軌道上であって軌道生成開始点に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点を設定する制御目標地点設定手段と、
前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道を生成する制御軌道生成手段と、を有し、
前記制御目標地点設定手段は、
前記軌道生成開始点から車両において実施する自動運転支援の内容に基づいて設定された除外範囲距離内の範囲を除外範囲として設定し、
前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定する自動運転支援装置。
【請求項２】
前記制御目標地点の設定並びに前記算出軌道の算出は複数回繰り返し行われ、
先ず車両の現在位置を最初の軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われ、
以降は前回の軌道生成開始点から前記制御目標地点へと走行する軌道に沿って走行すると仮定した所定時間後の車両の予測位置を新たな軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われる請求項１に記載の自動運転支援装置。
【請求項３】
前記制御軌道生成手段は、算出された複数の前記算出軌道について、算出軌道毎の前記軌道生成開始点から前記算出軌道に沿って走行すると仮定した所定時間後の車両の予測位置を繋いだ軌道を前記制御軌道として生成する請求項２に記載の自動運転支援装置。
【請求項４】
車両において実施する自動運転支援は、同一の車線を維持して走行する車線維持走行支援と、異なる車線へと車線変更する為の車線変更支援とがあって、
前記車線変更支援は前記車線維持走行支援よりも前記除外範囲距離が長く設定される請求項１乃至請求項３のいずれかに記載の自動運転支援装置。
【請求項５】
前記制御目標地点設定手段は、前記軌道生成開始点から前記制御目標地点へと到達する軌道の最小の旋回半径が閾値以上となることを条件として前記制御目標地点を設定する請求項１乃至請求項４のいずれかに記載の自動運転支援装置。
【請求項６】
前記制御目標地点設定手段は、車両において実施する自動運転支援の内容が第１支援から第２支援へと切り替わった場合に、前記第１支援に対応した第１距離から前記第２支援に対応した第２距離へと前記除外範囲距離を複数段階で段階的に切り替える請求項１乃至請求項５のいずれかに記載の自動運転支援装置。
【請求項７】
前記除外範囲距離の切り替えは、
前記第１距離が前記第２距離よりも長い場合には、前記第１距離から前記第２距離へと前記除外範囲距離を複数段階で段階的に切り替え、
前記第１距離が前記第２距離よりも短い場合には、前記第１距離から前記第２距離へと前記除外範囲距離を１段階で切り替える請求項６に記載の自動運転支援装置。
【請求項８】
前記制御目標地点設定手段は、車両において同一の自動運転支援が継続して行われる場合において、前記除外範囲距離を徐々に短くする請求項１乃至請求項７のいずれかに記載の自動運転支援装置。
【請求項９】
車両において実施する自動運転支援に用いる支援情報を生成するコンピュータプログラムであって、
コンピュータを、
車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する走行軌道設定手段と、
前記目標走行軌道上であって軌道生成開始点に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点を設定する制御目標地点設定手段と、
前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道を生成する制御軌道生成手段と、
して機能させる為のコンピュータプログラムであって、
前記制御目標地点設定手段は、
前記軌道生成開始点から車両において実施する自動運転支援の内容に基づいて設定された除外範囲距離内の範囲を除外範囲として設定し、
前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定するコンピュータプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両において自動運転支援を行う自動運転支援装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、車両の走行形態として、ユーザの運転操作に基づいて走行する手動走行以外に、ユーザの運転操作の一部又は全てを車両側で実行することにより、ユーザによる車両の運転を補助する自動運転支援システムについて新たに提案されている。自動運転支援システムでは、例えば、車両の現在位置、車両が走行する車線、周辺の他車両の位置を随時検出し、予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。
【０００３】
また、自動運転支援による走行は基本的に予め決められた目標走行軌道（例えば車両が走行すべき車線の中心線）にできる限り沿って車両を走行させる制御を行う。例えば、特開２０１３−１１２０６７号公報には、車両の走行位置が目標走行軌道である走行進路から外れている場合に、外れた走行進路上に所定間隔で配置された目標通過点の内、自車の現在位置から所定範囲内にある目標通過点を固定目標通過点として設定し、車両の現在位置から固定目標通過点を通過する新たな走行進路を生成する技術について提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１２０６７号公報（第８−９頁、図５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、車両において実施される自動運転支援の支援内容には様々な種類が存在する。例えば、同一の車線を維持して走行する車線維持走行支援や、異なる車線へと車線変更する為の車線変更支援がある。そして、上記特許文献１の技術では、車両において実施されている自動運転支援の支援内容にかかわらず、車両の現在位置から所定範囲内にある目標通過点を固定目標通過点としていた。
【０００６】
その結果、上記特許文献１の技術では、車両において実施されている自動運転支援の支援内容に適さない新たな走行進路が生成される場合があった。例えば、他車両の接近や車線変更の実施等の様々な理由によって、予め設定されていた走行進路から車両の走行位置が大きく外れた場合には、元の走行進路に戻る為に急旋回を伴う新たな走行進路が生成される虞がある。そのような場合には、自動運転支援を適切に行うことができなくなる可能性があった。
【０００７】
本発明は前記従来における問題点を解消するためになされたものであり、自動運転支援による車両の走行が行われている場合において、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能であり、自動運転支援を適切に継続して実施することを可能にした自動運転支援装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するため本発明に係る自動運転支援装置は、車両において実施する自動運転支援に用いる支援情報を生成する自動運転支援装置であって、車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する走行軌道設定手段と、前記目標走行軌道上であって軌道生成開始点に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点を設定する制御目標地点設定手段と、前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道を生成する制御軌道生成手段と、を有し、前記制御目標地点設定手段は、前記軌道生成開始点から車両において実施する自動運転支援の内容に基づいて設定された除外範囲距離内の範囲を除外範囲として設定し、前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定する。
尚、「自動運転支援」とは、運転者の車両操作の少なくとも一部を運転者に代わって行う又は補助する機能をいう。 
【０００９】
また、本発明に係るコンピュータプログラムは、車両において実施する自動運転支援に用いる支援情報を生成するプログラムである。具体的には、コンピュータを、車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する走行軌道設定手段と、前記目標走行軌道上であって軌道生成開始点に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点を設定する制御目標地点設定手段と、前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道を生成する制御軌道生成手段と、して機能させる為のコンピュータプログラムであって、前記制御目標地点設定手段は、前記軌道生成開始点から車両において実施する自動運転支援の内容に基づいて設定された除外範囲距離内の範囲を除外範囲として設定し、前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定する。 
【発明の効果】
【００１０】
前記構成を有する本発明に係る自動運転支援装置及びコンピュータプログラムによれば、自動運転支援による車両の走行が行われている場合において、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能となる。従って、例えば急旋回による走行が不適な自動運転支援が行われている状態には、旋回半径の小さい制御軌道が生成されることを防止できる。また、車体の角度が頻繁に変位することが不適な自動運転支援が行われている状態には、頻繁な車両方位の変化を招く制御軌道が生成されることを防止できる。その結果、自動運転支援を適切に継続して実施することが可能となる。
また、制御目標地点が軌道生成開始点に対して一定距離以上離れた位置に設定されるので、制御のハンチングが生じることを防止できる。例えば、制御目標地点を軌道生成開始点に対して接近して設定すると、生成される制御軌道と実施される車両制御との間でズレが生じる虞があるが、そのような問題を解消できる。また、制御のハンチングが生じることを防止する範囲でできる限り軌道生成開始点から近い位置に制御目標地点を設定するので、できる限り目標走行軌道に沿った制御軌道を生成することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るナビゲーション装置を示したブロック図である。
【図２】本実施形態に係る自動運転支援プログラムのフローチャートである。
【図３】車両の走行する道路に対して設定される目標走行軌道の例を示した図である。
【図４】車両の走行する道路に対して設定される目標走行軌道の例を示した図である。
【図５】制御軌道生成処理のサブ処理プログラムのフローチャートである。
【図６】走行時刻ｔが１００ｍｓｅｃの場合において予測される車両の位置を示した図である。
【図７】走行時刻ｔが２００ｍｓｅｃの場合において予測される車両の位置を示した図である。
【図８】制御軌道の生成方法について説明した図である。
【図９】制御目標地点設定処理のサブ処理プログラムのフローチャートである。
【図１０】車両において車線維持走行支援が行われている場合に設定される除外範囲を示した図である。
【図１１】車両において車線変更支援が行われている場合に設定される除外範囲を示した図である。
【図１２】走行時刻ｔの変位に伴う除外範囲の具体的な設定例を示した図である。
【図１３】目標走行軌道上に設定される仮目標位置を示した図である。
【図１４】仮目標位置の内から制御目標地点を選択する選択方法について説明した図である。
【発明を実施するための形態】
【００１２】
以下、本発明に係る自動運転支援装置を、ナビゲーション装置に具体化した一実施形態に基づき図面を参照しつつ詳細に説明する。先ず、本実施形態に係るナビゲーション装置１の概略構成について図１を用いて説明する。図１は本実施形態に係るナビゲーション装置１を示したブロック図である。
【００１３】
図１に示すように本実施形態に係るナビゲーション装置１は、ナビゲーション装置１が搭載された車両の現在位置を検出する現在位置検出部１１と、各種のデータが記録されたデータ記録部１２と、入力された情報に基づいて、各種の演算処理を行うナビゲーションＥＣＵ１３と、ユーザからの操作を受け付ける操作部１４と、ユーザに対して車両周辺の地図やナビゲーション装置１で設定されている案内経路（車両の走行予定経路）に関する情報等を表示する液晶ディスプレイ１５と、経路案内に関する音声ガイダンスを出力するスピーカ１６と、記憶媒体であるＤＶＤを読み取るＤＶＤドライブ１７と、プローブセンタやＶＩＣＳ（登録商標：Vehicle Information and Communication System）センタ等の情報センタとの間で通信を行う通信モジュール１８と、を有する。また、ナビゲーション装置１はＣＡＮ等の車載ネットワークを介して、ナビゲーション装置１の搭載された車両に対して設置された車外カメラ１９や各種センサが接続されている。更に、ナビゲーション装置１の搭載された車両に対する各種制御を行う車両制御ＥＣＵ２０とも双方向通信可能に接続されている。また、自動運転開始ボタン等の車両に搭載された各種操作ボタン２１についても接続されている。
【００１４】
以下に、ナビゲーション装置１が有する各構成要素について順に説明する。
現在位置検出部１１は、ＧＰＳ２２、車速センサ２３、ステアリングセンサ２４、ジャイロセンサ２５等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ２３は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションＥＣＵ１３に出力する。そして、ナビゲーションＥＣＵ１３は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記４種類のセンサをナビゲーション装置１が全て備える必要はなく、これらの内の１又は複数種類のセンサのみをナビゲーション装置１が備える構成としても良い。
【００１５】
また、データ記録部１２は、外部記憶装置及び記録媒体としてのハードディスク（図示せず）と、ハードディスクに記録された地図情報ＤＢ３１や障害物情報ＤＢ３２や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド（図示せず）とを備えている。尚、データ記録部１２をハードディスクの代わりにフラッシュメモリやメモリーカードやＣＤやＤＶＤ等の光ディスクを有しても良い。また、地図情報ＤＢ３１は外部のサーバに格納させ、ナビゲーション装置１が通信により取得する構成としても良い。
【００１６】
ここで、地図情報ＤＢ３１は、例えば、道路（リンク）に関するリンクデータ３４、ノード点に関するノードデータ３５、経路の探索や変更に係る処理に用いられる探索データ３６、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
【００１７】
また、リンクデータ３４としては、道路を構成する各リンクに関してリンクの属する道路の幅員、勾（こう）配、カント、バンク、路面の状態、ノード間のリンク形状（例えばカーブ道路ではカーブの形状）を特定する為の形状補完点データ、合流区間、道路構造、道路の車線数、車線数の減少する箇所、幅員の狭くなる箇所、踏切り等を表すデータが、コーナに関して、曲率半径、交差点、Ｔ字路、コーナの入口及び出口等を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。特に本実施形態では、道路の車線数に加えて、車線毎の進行方向の通行区分や道路の繋がり（具体的には、分岐においてどの車線がどの道路に接続されているか）を特定する情報についても記憶されている。更に、道路に設定されている制限速度についても記憶されている。
【００１８】
また、ノードデータ３５としては、実際の道路の分岐点（交差点、Ｔ字路等も含む）や各道路に曲率半径等に応じて所定の距離毎に設定されたノード点の座標（位置）、ノードが交差点に対応するノードであるか等を表すノード属性、ノードに接続するリンクのリンク番号のリストである接続リンク番号リスト、ノードにリンクを介して隣接するノードのノード番号のリストである隣接ノード番号リスト、各ノード点の高さ（高度）等に関するデータ等が記録される。
【００１９】
また、探索データ３６としては、出発地（例えば車両の現在位置）から設定された目的地までの経路を探索する経路探索処理に使用される各種データについて記録されている。具体的には、交差点に対する経路として適正の程度を数値化したコスト（以下、交差点コストという）や道路を構成するリンクに対する経路として適正の程度を数値化したコスト（以下、リンクコストという）等の探索コストを算出する為に使用するコスト算出データが記憶されている。
【００２０】
また、障害物情報ＤＢ３２は、外部のサーバによって配信された障害物に関する障害物情報が記憶される記憶手段である。また、自車両の車外カメラ１９やセンサによって検出した自車両の周囲に位置する障害物に関する障害物情報についても記憶される。ここで、障害物情報ＤＢ３２に障害物情報が記憶される障害物は、車両において後述のように実施される自動運転支援に影響する対象物（要因）であり、例えば周辺を走行する他車両、路上に停車する駐車車両、工事区間、渋滞車両等が該当する。また、障害物情報は例えば障害物の種類と、障害物の地図上の位置座標（範囲に跨る場合には範囲を特定する情報）と、障害物の内容を特定する情報とを含む。そして、ナビゲーションＥＣＵ１３は、後述のように地図情報ＤＢ３１に記憶された地図情報や障害物情報ＤＢ３２に記憶された障害物情報を用いて自動運転支援を実施する。
【００２１】
ここで、車両の走行形態としては、ユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路や道なりに沿って自動的に走行を行う自動運転支援による支援走行が可能である。尚、自動運転支援における車両制御では、例えば、車両の現在位置、車両が走行する車線、周辺の障害物の位置を随時検出し、車両制御ＥＣＵ２０によって予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、本実施形態の自動運転支援による支援走行では、車線変更や右左折についても自動運転制御により行う構成とするが、車線変更や右左折の一部については自動運転制御では行わない構成としても良い。
【００２２】
具体的に本実施形態では、右左折、合流、分岐等の特殊な状況下を除いて基本的に以下の２種類のいずれかの自動運転支援を行う。
（１）『車線維持走行支援』・・・車両が車線を逸脱することなく車線の中心付近を走行させる制御（例えばレーン・キーピング・アシスト）。
（２）『車線変更支援』・・・現在走行する車線から異なる車線へと移動させる制御。
尚、上記（１）、（２）のいずれの支援を実施するかは、車両が走行する道路に対して設定された目標とする走行軌道である目標走行軌道に基づいて決定される。また、上記（１）、（２）の制御と平行して、前方車両との車間距離を一定距離（例えば１０ｍ）に保つ制御や一定速度（例えば制限速度の８０％）で走行する制御等についても実施される。
【００２３】
また、自動運転支援は全ての道路区間に対して行っても良いし、特定の道路区間（例えば境界にゲート（有人無人、有料無料は問わない）が設けられた高速道路）を車両が走行する間のみ行う構成としても良い。以下の説明では車両の自動運転支援が行われる自動運転区間は、一般道や高速道路を含む全ての道路区間とし、車両が道路上を走行する間において基本的に上記自動運転支援が行われるとして説明する。但し、車両が自動運転区間を走行する場合には必ず自動運転支援が行われるのではなく、ユーザにより自動運転支援を行うことが選択され（例えば自動運転開始ボタンをＯＮする）、且つ自動運転支援による走行を行わせることが可能と判定された状況でのみ行われる。尚、自動運転支援の詳細については後述する。
【００２４】
一方、ナビゲーションＥＣＵ（エレクトロニック・コントロール・ユニット）１３は、ナビゲーション装置１の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのＣＰＵ４１、並びにＣＰＵ４１が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるＲＡＭ４２、制御用のプログラムのほか、後述の自動運転支援プログラム（図２参照）等が記録されたＲＯＭ４３、ＲＯＭ４３から読み出したプログラムを記憶するフラッシュメモリ４４等の内部記憶装置を備えている。尚、ナビゲーションＥＣＵ１３は、処理アルゴリズムとしての各種手段を有する。例えば、走行軌道設定手段は、車両が走行する道路に対して目標とする走行軌道である目標走行軌道を設定する。制御目標地点設定手段は、目標走行軌道上であって軌道生成開始点に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点を設定する。制御軌道生成手段は、軌道生成開始点から制御目標地点へと走行する軌道を用いて、車両に走行させる制御軌道を生成する。
【００２５】
操作部１４は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ（図示せず）を有する。そして、ナビゲーションＥＣＵ１３は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部１４は液晶ディスプレイ１５の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
【００２６】
また、液晶ディスプレイ１５には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、案内経路に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ１５の代わりに、ＨＵＤやＨＭＤを用いても良い。
【００２７】
また、スピーカ１６は、ナビゲーションＥＣＵ１３からの指示に基づいて案内経路に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
【００２８】
また、ＤＶＤドライブ１７は、ＤＶＤやＣＤ等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報ＤＢ３１の更新等が行われる。尚、ＤＶＤドライブ１７に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
【００２９】
また、通信モジュール１８は、交通情報センタ、例えば、ＶＩＣＳセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やＤＣＭが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。
【００３０】
また、車外カメラ１９は、例えばＣＣＤ等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ１９は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、車両制御ＥＣＵ２０は撮像された撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等の障害物を検出し、検出結果に基づいて車両の自動運転支援を行う。尚、車外カメラ１９は車両前方以外に後方や側方に配置するように構成しても良い。また、障害物を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
【００３１】
また、車両制御ＥＣＵ２０は、ナビゲーション装置１が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ＥＣＵ２０にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、本実施形態では特に車両において自動運転支援が開始された後に、各駆動部を制御することにより車両の自動運転支援を実施する。また、自動運転支援中にユーザによってオーバーライドが行われた場合には、オーバーライドが行われたことを検出する。
【００３２】
ここで、ナビゲーションＥＣＵ１３は、走行開始後にＣＡＮを介して車両制御ＥＣＵ２０に対して自動運転支援に関する指示信号を送信する。そして、車両制御ＥＣＵ２０は受信した指示信号に応じて走行開始後の自動運転支援を実施する。尚、指示信号の内容は、車両が走行する軌道や走行車速等を指示する情報である。
【００３３】
続いて、上記構成を有する本実施形態に係るナビゲーション装置１においてＣＰＵ４１が実行する自動運転支援プログラムについて図２に基づき説明する。図２は本実施形態に係る自動運転支援プログラムのフローチャートである。ここで、自動運転支援プログラムは、車両のＡＣＣ電源(accessory power supply)がＯＮされた後であって自動運転支援による車両の走行が開始された場合に実行され、設定された目標走行軌道に沿って走行する為の車両の自動運転支援を実施するプログラムである。また、以下の図２、図５及び図９にフローチャートで示されるプログラムは、ナビゲーション装置１が備えているＲＡＭ４２やＲＯＭ４３に記憶されており、ＣＰＵ４１により実行される。
【００３４】
先ず、自動運転支援プログラムではステップ（以下、Ｓと略記する）１において、ＣＰＵ４１は、車両が今後走行する予定にある経路（以下、走行予定経路という）を取得する。尚、車両の走行予定経路は、ナビゲーション装置１において案内経路が設定されている場合には、ナビゲーション装置１において現在設定されている案内経路の内、車両の現在位置から目的地までの経路を走行予定経路とする。尚、案内経路はナビゲーション装置１によって設定された出発地から目的地までの推奨経路であり、例えば公知のダイクストラ法を用いて探索される。一方、ナビゲーション装置１において案内経路が設定されていない場合には、車両の現在位置から道なりに走行する経路を走行予定経路とする。
【００３５】
次に、Ｓ２においてＣＰＵ４１は、地図情報ＤＢ３１から走行予定経路の車線に関する車線情報を取得する。具体的には、走行予定経路を構成する道路に含まれる車線数、車線毎の進行方向の通行区分や道路の繋がり（分岐においてどの車線がどの道路に接続されているか）を特定する情報が取得される。
【００３６】
続いて、Ｓ３においてＣＰＵ４１は、前記Ｓ１で取得した走行予定経路と前記Ｓ２で取得した車線情報とに基づいて、今後に車両が走行する道路に対して目標とする走行軌道である目標走行軌道５０を設定する。尚、目標走行軌道５０は、基本的には走行予定経路を構成する道路に含まれる車線の内、走行が推奨される車線の中心線に対して車両の進行方向に沿って設定される。例えば、図３に示す例では片側２車線の道路を車両が道なりに走行する場合であり、走行が推奨される左側の車線の中心線に対して目標走行軌道５０が設定される。一方で、図４に示す例では、車線が左側に新たに増加する場合であって、車両がその後に左折又は左分岐する場合であり、車線の増加地点までは左側の車線の中心線に対して目標走行軌道５０が設定され、車線が増加した後は増加した車線の中心線に対して目標走行軌道５０が設定される。尚、走行予定経路の全経路を対象として上記目標走行軌道を設定しても良いが、車両の現在位置から所定距離（例えば３００ｍ）以内のみを対象として上記目標走行軌道を設定しても良い。その場合には、上記Ｓ１〜Ｓ３の処理は車両が所定距離走行する度に繰り返し実施される。
【００３７】
次に、Ｓ４においてＣＰＵ４１は、前回の除外範囲距離を示すパラメータＸｎ−１に初期値を設定する。初期値は例えば５ｍとするが、その値は適宜変更可能である。車両において現在実施されている自動運転支援の支援内容に基づいて初期値を変更しても良い。ここで、除外範囲距離は後述のように車両に走行させる制御軌道を生成する際（Ｓ６）に用いられるパラメータである。詳細については後述する。尚、パラメータＸｎ−１はＲＡＭ４２等に記憶される。
【００３８】
以下のＳ５〜Ｓ９の処理は、車両のＡＣＣ電源(accessory power supply)がＯＮされている間において一定周期（例えば１００ｍｓｅｃ）毎に繰り返し実行される。そして、車両のＡＣＣ電源がＯＦＦされた後に当該自動運転支援プログラムを終了する。
【００３９】
先ず、Ｓ５においてＣＰＵ４１は現在の車両において自動運転支援が実施されているか否かを判定する。尚、自動運転支援は例えばユーザによる自動運転開始ボタン等の操作によって実施のＯＮ／ＯＦＦを切り替えることが可能である。また、自動運転支援を実施することが困難な状況（例えば車両が走行する車線を区画する区画線が消失した場合等）となった際に実施が中止される場合もある。
【００４０】
そして、自動運転支援が実施されていると判定された場合（Ｓ５：ＹＥＳ）には、Ｓ６へと移行する。それに対して、自動運転支援が実施されていないと判定された場合（Ｓ５：ＮＯ）には、制御軌道の生成や生成された制御軌道に基づく自動運転支援を行うことなく当該自動運転支援プログラムを終了する。
【００４１】
Ｓ６においてＣＰＵ４１は、後述の制御軌道生成処理（図５）を実行する。ここで、制御軌道生成処理は、今後に車両に走行させる軌道である制御軌道を生成する処理である。尚、制御軌道は後述のように車両の現在位置から進行方向に沿って停止距離（運転者がブレーキをかけると判断してから停止するまでに必要な距離）前方までの区間を対象として生成される。また、制御軌道は前記Ｓ３で設定された目標走行軌道にできる限り沿って走行する為の軌道であり、例えば車両の現在位置が目標走行軌道上又は周辺にある場合には、継続して目標走行軌道周辺に留まる軌道となり、一方で車両の現在位置が目標走行軌道から外れていた場合には、目標走行軌道上へと向かう軌道となる。
【００４２】
続いて、Ｓ７においてＣＰＵ４１は、ＲＡＭ４２に格納された前回の除外範囲距離を示すパラメータＸｎ−１を読み出し、直近に実施された前記Ｓ６で制御軌道を生成するのに用いられた除外範囲距離Ｘｎの内、特に最初（走行時刻が０）に設定された除外範囲距離Ｘｎを代入する。
【００４３】
次に、Ｓ８においてＣＰＵ４１は、前記Ｓ６で生成された制御軌道に沿って車両が走行する為の制御量を演算する。具体的には、アクセル、ブレーキ、ギヤ及びステアリングの制御量が夫々演算される。
【００４４】
その後、Ｓ９においてＣＰＵ４１は、Ｓ８において演算された制御量を反映する。具体的には、演算された制御量を、ＣＡＮを介して車両制御ＥＣＵ２０へと送信する。車両制御ＥＣＵ２０では受信した制御量に基づいてアクセル、ブレーキ、ギヤ及びステアリングの各車両制御が行われる。その結果、車両が生成された制御軌道に沿って走行する走行支援制御が可能となる。
【００４５】
そして、一定周期（例えば１００ｍｓｅｃ）毎に上記Ｓ５〜Ｓ９の処理を繰り返し実行することによって、直近に検出された車両の現在位置や方位から目標走行軌道に沿って走行させる為の最適な制御軌道の生成及び制御軌道に沿って走行させる為の自動運転支援を実施することが可能となる。
【００４６】
次に、前記Ｓ６において実行される制御軌道生成処理のサブ処理について図５に基づき説明する。図５は制御軌道生成処理のサブ処理プログラムのフローチャートである。
【００４７】
先ず、Ｓ１１においてＣＰＵ４１は、車両の現在の車速から現在の車両の“停止距離”を算出する。尚、“停止距離”は運転者がブレーキをかけると判断してから停止するまでに必要な距離であり、空走距離に０．２Ｇの減速度で停止する為の制動距離を加算した距離とする。尚、停止距離の具体的な算出方法については公知であるので詳細は省略する。
【００４８】
次に、Ｓ１２においてＣＰＵ４１は、パラメータである走行時刻ｔに初期値として０（０は現在時刻を意味する）を設定する。尚、走行時刻ｔはＲＡＭ４２等に記憶される。
【００４９】
続いて、Ｓ１３においてＣＰＵ４１は、直近の除外範囲距離を示すパラメータＸｔ−１に前回の除外範囲距離を示すパラメータＸｎ−１を代入する。尚、前回の除外範囲距離を示すパラメータＸｎ−１は前記Ｓ４又はＳ７で設定される。尚、パラメータＸｔ−１はＲＡＭ４２等に記憶される。
【００５０】
その後、Ｓ１４においてＣＰＵ４１は、後述の制御目標地点設定処理（図９）を実行する。ここで、制御目標地点設定処理は、制御軌道を生成する際の目標点である制御目標地点を設定する処理である。尚、制御目標地点は、後述のように目標走行軌道上であって軌道生成開始点から車両において実施されている自動運転支援の支援内容に基づく距離だけ進行方向前方の位置に設定される。また、軌道生成開始点は現時点の走行時刻ｔ（現在時刻からｔ時間後）において予測される車両の位置であり、後述のＳ１７で特定される。特に走行時刻ｔが初期値である０の場合は、軌道生成開始点は車両の現在位置となる。
【００５１】
次に、Ｓ１５においてＣＰＵ４１は、軌道生成開始点から前記Ｓ１４で設定された制御目標地点までの軌道（以下、走行軌道という）を生成する。具体的には車両が軌道生成開始点から制御目標地点までを、現在の車速で所定の操舵角以内で走行する軌道を走行軌道として生成する。また、軌道生成開始点は現時点の走行時刻ｔ（現在時刻からｔ時間後）において予測される車両の位置である。また、軌道生成開始点における車両の方位は後述のＳ１７で特定される。
【００５２】
その後、Ｓ１６においてＣＰＵ４１は、ＲＡＭ４２から走行時刻ｔを読み出し、１００ｍｓｅｃ加算する。
【００５３】
続いて、Ｓ１７においてＣＰＵ４１は、車両が前記Ｓ１５で生成された走行軌道の軌道生成開始点から走行軌道に沿って現在の車両の車速で走行したと仮定して、現時点の走行時刻ｔ（現在時刻からｔ時間後）における車両の位置と方位を予測する。具体的には、軌道生成開始点から前記Ｓ１５で生成された走行軌道に沿って現在の車両の車速で１００ｍｓ走行した場合の走行距離だけ離れた地点を、現時点の走行時刻ｔ（現在時刻からｔ時間後）における車両の位置とする。また、予測された車両の位置における走行軌道の接線方向が現時点の走行時刻ｔ（現在時刻からｔ時間後）における車両の方位となる。
【００５４】
その後、Ｓ１８においてＣＰＵ４１は、走行時刻ｔ＝０（即ち現在時刻）の車両の位置から前記Ｓ１７で予測された現時点の走行時刻ｔにおける車両の位置までの車両の走行距離を算出する。尚、車両は過去に走行時刻ｔ毎に予測された各車両の位置を繋ぐ軌道を走行すると仮定して走行距離を算出する。
【００５５】
次に、Ｓ１９においてＣＰＵ４１は、前記Ｓ１８で算出された走行距離が前記Ｓ１１で算出された停止距離以上であるか否かを判定する。
【００５６】
そして、前記Ｓ１８で算出された走行距離が前記Ｓ１１で算出された停止距離未満であると判定された場合（Ｓ１９：ＮＯ）には、Ｓ１４へと戻る。そして、Ｓ１６で加算後の走行時刻ｔ（現在時刻からｔ時間後）において予測される新たな車両の位置を軌道生成開始点として、制御目標地点の設定及び走行軌道の生成を再度行う。そして、前記Ｓ１８で算出された走行距離が前記Ｓ１１で算出された停止距離以上と判定されるまで、走行時刻ｔを１００ｍｓｅｃずつ加算して前記Ｓ１４〜Ｓ１８の処理を繰り返し実行する
【００５７】
例えば、図６に示すように先ず走行時刻ｔが初期値である０（即ち現在時刻）の場合には、車両の現在位置を軌道生成開始点５１として、目標走行軌道５０上に制御目標地点５２が設定される。そして、軌道生成開始点５１から制御目標地点５２までの走行軌道５３が生成される。更に、生成された走行軌道５３に沿って車両が１００ｍｓｅｃ走行したと仮定して現在時刻から１００ｍｓｅｃ後の車両位置５４が予測される。
次に、図７に示すように１００ｍｓｅｃ後の車両位置５４（即ち走行時刻ｔが１００ｍｓｅｃの場合において予測される車両の位置）を新たな軌道生成開始点５１として、目標走行軌道５０上に新たな制御目標地点５２が設定される。そして、同様に軌道生成開始点５１から制御目標地点５２までの走行軌道５３が生成される。更に、生成された走行軌道５３に沿って車両が１００ｍｓｅｃ走行したと仮定して現在時刻から２００ｍｓｅｃ後の車両の位置５５が予測される。
以下同様にして現在時刻から３００ｍｓｅｃ後の車両の位置、４００ｍｓｅｃ後の車両の位置、・・・・が車両の走行距離が停止距離以上と判定されるまで予測される。
【００５８】
そして、前記Ｓ１８で算出された走行距離が前記Ｓ１１で算出された停止距離以上であると判定された場合（Ｓ１９：ＹＥＳ）には、Ｓ２０へと移行する。Ｓ２０でＣＰＵ４１は、前記Ｓ１４〜Ｓ１８の処理を繰り返し実行することによって特定された各走行時刻ｔ（ｔ＝０、１００ｍｓｅｃ、２００ｍｓｅｃ、３００ｍｓｅｃ、・・・）における車両の位置を繋いだ軌道を制御軌道として生成する。尚、各走行時刻ｔにおける車両の位置を繋ぐ際には、各位置における車両の方位についても考慮する。各位置における車両の方位は前記Ｓ１７で特定されている。また、旋回回数が少なく旋回半径ができる限り大きくなるように繋ぐのが望ましい。
【００５９】
例えば、図８に示すように目標走行軌道５０に対して現在時刻（走行時刻ｔ＝０）の車両の位置５１、現在時刻から１００ｍｓｅｃ後（走行時刻ｔ＝１００ｍｓｅｃ）の車両の位置５４、２００ｍｓｅｃ後（走行時刻ｔ＝２００ｍｓｅｃ）の車両の位置５５、３００ｍｓｅｃ後（走行時刻ｔ＝３００ｍｓｅｃ）の車両の位置５６が特定されている場合には、各車両の位置５１、５４、５５、５６を繋いだ軌道を制御軌道６０として生成する。
【００６０】
尚、前記Ｓ１５で生成された走行軌道５３の一部を繋げて制御軌道６０を生成しても良い。即ち、図６に示す軌道生成開始点５１から予測車両位置５４までの走行軌道５３と、図７に示す軌道生成開始点５１から予測車両位置５５までの走行軌道５３とを繋げた軌道を制御軌道６０として生成しても良い。
【００６１】
次に、前記Ｓ１４において実行される制御目標地点設定処理のサブ処理について図９に基づき説明する。図９は制御目標地点設定処理のサブ処理プログラムのフローチャートである。
【００６２】
先ず、Ｓ２１においてＣＰＵ４１は、前記Ｓ３で設定された目標走行軌道上に所定間隔で仮目標位置を設定する。仮目標位置は制御目標地点の候補となる点である。仮目標位置を狭い間隔でより多数設定すればより最適な制御目標地点を選択することが可能であるが、一方でＣＰＵ４１の処理負担は増加する。仮目標位置を設定する間隔は例えば１ｍとする。尚、目標走行軌道の全軌道に対して仮目標位置を設定しても良いし、車両の現在位置周辺の目標走行軌道のみに対して仮目標位置を設定しても良い。
【００６３】
次に、Ｓ２２においてＣＰＵ４１は、車両において現在実施されている自動運転支援の支援内容を取得する。尚、本実施形態では、上述したように右左折、合流、分岐等の特殊な状況下を除いて基本的に『車線維持走行支援』と『車線変更支援』のいずれかの自動運転支援を行う。
【００６４】
また、Ｓ２３においてＣＰＵ４１は、ＲＡＭ４２に格納された直近の除外範囲距離を示すパラメータＸｔ−１を読み出す。尚、直近の除外範囲距離を示すパラメータＸｔ−１は、前記Ｓ１３又は後述のＳ３１で設定される。
【００６５】
続いて、Ｓ２４においてＣＰＵ４１は、前記Ｓ２２の取得結果に基づいて車両において現在実施されている自動運転支援の支援内容が、『車線維持走行支援』と『車線変更支援』のいずれかであるか判定する。
【００６６】
そして、車両において現在実施されている自動運転支援の支援内容が『車線維持走行支援』であると判定された場合（Ｓ２４：ＹＥＳ）には、Ｓ２５へと移行する。一方、車両において現在実施されている自動運転支援の支援内容が『車線変更支援』であると判定された場合（Ｓ２４：ＮＯ）には、Ｓ２８へと移行する。
【００６７】
Ｓ２５においてＣＰＵ４１は、前記Ｓ２３で取得された直近の除外範囲距離Ｘｔ−１が５ｍより大きいか否かを判定する。尚、直近の除外範囲距離Ｘｔ−１は、今回の制御軌道を生成するに際して過去に実施された制御目標地点設定処理（Ｓ１４）の内、特に直近に実施された制御目標地点設定処理（Ｓ１４）で設定された除外範囲距離を示す値である。但し、走行時刻ｔが０の場合、即ち今回の制御軌道を生成するに際して最初に制御目標地点設定処理が実行された場合には、前回の制御軌道を生成する際に設定された除外範囲距離を示す値となる（Ｓ７、Ｓ１３）。また、除外範囲距離は、後述のように仮目標位置から制御目標地点を選択するに際して、制御目標地点の選択対象から除外する範囲（以下、除外範囲という）の大きさを定義する距離であり、具体的には軌道生成開始点を中心とした除外範囲距離内の範囲を除外範囲とする。
【００６８】
そして、直近の除外範囲距離Ｘｔ−１が５ｍより大きいと判定された場合（Ｓ２５：ＹＥＳ）には、Ｓ２７へと移行する。それに対して、直近の除外範囲距離Ｘｔ−１が５ｍ以下であると判定された場合（Ｓ２５：ＮＯ）には、Ｓ２６へと移行する。
【００６９】
Ｓ２６においてＣＰＵ４１は、今回の除外範囲距離Ｘｔを５ｍに設定する。その後、Ｓ３１へと移行する。
【００７０】
Ｓ２７においてＣＰＵ４１は、今回の除外範囲距離Ｘｔを『Ｘｔ−１−１ｍ』と『５ｍ』の内、大きい方の値とする。その後、Ｓ３１へと移行する。
【００７１】
一方、Ｓ２８においてＣＰＵ４１は、前記Ｓ２３で取得された直近の除外範囲距離Ｘｔ−１が１０ｍより大きいか否かを判定する。
【００７２】
そして、直近の除外範囲距離Ｘｔ−１が１０ｍより大きいと判定された場合（Ｓ２８：ＹＥＳ）には、Ｓ３０へと移行する。それに対して、直近の除外範囲距離Ｘｔ−１が１０ｍ以下であると判定された場合（Ｓ２８：ＮＯ）には、Ｓ２９へと移行する。
【００７３】
Ｓ２９においてＣＰＵ４１は、今回の除外範囲距離Ｘｔを２０ｍに設定する。その後、Ｓ３１へと移行する。
【００７４】
一方、Ｓ３０においてＣＰＵ４１は、今回の除外範囲距離Ｘｔを『Ｘｔ−１−１ｍ』と『１０ｍ』の内、大きい方の値とする。その後、Ｓ３１へと移行する。
【００７５】
上記Ｓ２６、Ｓ２７、Ｓ２９、Ｓ３０の処理を実行することによって、複数の仮目標位置から制御目標地点を選択するに際して、制御目標地点の選択対象から除外する範囲である除外範囲が設定される。尚、除外範囲を広く設定すると、車両の現在位置が目標走行軌道から外れていた場合には軌道の修正に時間がかかるが、より緩やかで車両方位の変化の少ない旋回を描く制御軌道となる。一方で、除外範囲を狭く設定すると、車両の現在位置が目標走行軌道から外れていた場合に短時間で軌道の修正が可能となるが、急な旋回を描く制御軌道になり易い。
【００７６】
ここで、車両において『車線維持走行支援』が行われている場合には、図１０に示すように基本的に狭い除外範囲６１（例えば軌道生成開始点５１を中心とした５ｍ内）が設定される（Ｓ２６）。車両において『車線維持走行支援』が行われている場合には、比較的機敏に走行位置を修正できた方が、車線中央からずれることが少なくなり、ふらつきを抑えることができる。従って、『車線維持走行支援』が行われている場合においては、制御目標地点を比較的近い位置に設定した方が優位になることが多い。従って、基本的に狭い除外範囲６１を設定する。
【００７７】
但し、車両において『車線維持走行支援』が行われている場合であっても、前回の走行時刻ｔにおける処理で除外範囲が広く（例えば除外範囲距離＞５ｍ）設定されていた場合については、狭い除外範囲に一度に切り替えるのではなく、複数段階で徐々に除外範囲を狭く切り替える（Ｓ２７）。具体的には、走行時刻ｔが１００ｍｓ加算される毎に除外範囲距離を１ｍずつ短くする（但し最小は５ｍとする）。ここで、制御目標地点を軌道生成開始点５１の遠方から近傍へと急に変化させると、生成される制御軌道の旋回半径が急に小さく（横加速度が急に大きく）なる虞がある。本実施形態では、除外範囲を狭くする場合には段階的に狭くすることによって上記問題を解消することが可能となる。尚、逆に除外範囲を広くする場合においては上記問題が生じないので複数段階で広げるのではなく１段階で広げても良い。
【００７８】
一方、車両において『車線変更支援』が行われている場合には、初期段階では図１１に示すように基本的に広い除外範囲（例えば軌道生成開始点５１を中心とした２０ｍ内）が設定される（Ｓ２９）。その後、『車線変更支援』を継続するにあたって走行時刻ｔが１００ｍｓ加算される毎に除外範囲距離を１ｍずつ短くする（Ｓ３０、但し最小は１０ｍとする）。ここで、車両において『車線変更支援』が行われている場合には、急いで車線変更する必要がある場合を除いて、比較的緩やかに走行位置を変化させ、車線に対して車体の角度をつけすぎずに移動することが好ましい。従って、『車線変更支援』が行われている場合においては、制御目標地点を比較的遠い位置に設定した方が優位になることが多い。そこで、『車線維持走行支援』よりも広い除外範囲６１を設定する。特に、車線変更の制御開始時は除外範囲を広くすることによって、よりスムーズな車線変更制御が可能となる。尚、除外範囲を初期段階から狭くする場合には、『車線維持走行支援』が行われている場合と同様に段階的に狭くすることによって生成される制御軌道の旋回半径が急に小さく（横加速度が急に大きく）ことを防止する。
【００７９】
ここで、図１２は走行時刻ｔの変位に伴う除外範囲の具体的な設定例を示した図である。尚、図１２では、走行時刻ｔが０（現在時刻）〜１００ｍｓの間において自動運転支援として『車線維持走行支援』が実施され、走行時刻ｔが２００ｍｓ〜１４００ｍｓの間において『車線変更支援』が実施され、走行時刻ｔが１５００ｍｓ以降において再び『車線維持走行支援』が実施される場合を例に挙げて説明する。
【００８０】
図１２に示すように先ず自動運転支援の内容が『車線維持走行支援』が行われている走行時刻ｔが０（現在時刻）〜１００ｍｓの間においては、除外範囲距離が５ｍとなり、軌道生成開始点５１を中心とした５ｍ内が除外範囲として設定される（Ｓ２６）。その後に、走行時刻ｔが２００ｍｓのタイミングで自動運転支援の内容が『車線維持走行支援』から『車線変更制御』へと切り替わると、除外範囲距離は５ｍから２０ｍへと１段階で切り替わり、軌道生成開始点５１を中心とした２０ｍ内が除外範囲として設定される（Ｓ２９）。そして、走行時刻ｔが２００ｍｓ〜１４００ｍｓの間においては『車線変更支援』が継続して実施されるので、除外範囲距離が２０ｍから徐々に短くなり、除外範囲も徐々に狭くなる（Ｓ３０）。但し、下限は除外範囲距離が１０ｍであるので、除外範囲距離が１０ｍに到達した後はそれ以上短くすることなく維持される。また、走行時刻ｔが１５００ｍｓのタイミングで自動運転支援の内容が『車線変更制御』から『車線維持走行支援』へと切り替わると、その後は除外範囲距離が１０ｍから５ｍへと複数段階で段階的に切り替わる。具体的には、走行時刻ｔが１００ｍｓ加算される毎に除外範囲距離を１ｍずつ短くする。それに伴って除外範囲も徐々に狭くなる（Ｓ２７）。そして、除外範囲距離が５ｍに到達した後はそれ以上短くすることなく維持される。
【００８１】
その後、Ｓ３１においてＣＰＵ４１は、ＲＡＭ４２に格納された直近の除外範囲距離を示すパラメータＸｔ−１を読み出し、前記Ｓ２６、Ｓ２７、Ｓ２９、Ｓ３０のいずれかで設定された今回の除外範囲距離Ｘｔを代入（更新）する。
【００８２】
そして、以下のＳ３２及びＳ３３の処理は、前記Ｓ２１で設定された仮目標位置の内、制御目標地点の候補となる仮目標位置を対象に、軌道生成開始点から近い順に仮目標位置毎に実行する。尚、制御目標地点の候補となる仮目標位置は、前記Ｓ２６、Ｓ２７、Ｓ２９、Ｓ３０で設定された除外範囲の外にあって、且つ軌道生成開始点５１から所定距離以内（例えば３００ｍ以内）にある仮目標位置とする。例えば、図１３に示す例では、目標走行軌道５０に対して仮目標位置６２が所定間隔（例えば１ｍ間隔）で設定されているが、軌道生成開始点５１から今回の除外範囲距離Ｘｔ以内の除外範囲６１内にある仮目標位置６２については制御目標地点の候補から除かれる。そして、除外範囲６１外にある仮目標位置６２の内、最も軌道生成開始点５１に近い地点Ｐ１を対象に先ずＳ３２及びＳ３３の処理が行われる。その後、Ｐ２、Ｐ３、・・・の順にＳ３２及びＳ３３の処理が行われる。
【００８３】
先ず、Ｓ３２においてＣＰＵ４１は、軌道生成開始点から処理対象の仮目標位置へと到達する軌道（以下、到達軌道という）を生成する。具体的には軌道生成開始点から処理対象の仮目標位置までを、最も旋回半径が大きくなるように繋いだ軌道を到達軌道として生成する。更に、前記Ｓ３２においてＣＰＵ４１は、生成した到達軌道に含まれる旋回の内、最小の旋回半径を算出する。即ち、前記Ｓ３２では軌道生成開始点から処理対象の仮目標位置へと到達するのに必要な最小の旋回半径が算出される。尚、軌道生成開始点は現時点の走行時刻ｔ（現在時刻からｔ時間後）において予測される車両の位置であり、前記Ｓ１７で特定される。特に走行時刻ｔが初期値である０の場合は、軌道生成開始点は車両の現在位置となる。
【００８４】
次に、Ｓ３３においてＣＰＵ４１は、前記Ｓ３２で算出された旋回半径が閾値以上であるか否かを判定する。尚、閾値は、走行する車両の自動運転支援に係る走行制御を適切に行うことができ、且つ走行中の車両の乗員に負担が生じない条件を満たす最小の旋回半径とする。例えば、横加速度が０．２Ｇ以下であることを条件とすると、閾値は以下の式（１）により算出される。
閾値＝車速２／（０．２Ｇ×９．８０６６５）・・・・（１）
【００８５】
そして、前記Ｓ３２で算出された旋回半径が閾値以上であると判定された場合（Ｓ３３：ＹＥＳ）には、Ｓ３４へと移行する。そして、Ｓ３４においてＣＰＵ４１は、処理対象の仮目標位置を制御目標地点に設定する。即ち、除外範囲の外で軌道生成開始点から近い位置にある仮目標位置を優先して制御目標位置に設定することとなる。但し、車両の進行方向前方に障害物がある場合には、障害物と重複する到達軌道となる仮目標位置は、制御目標地点の対象から除外するのが望ましい。尚、障害物に関する情報は障害物情報ＤＢ３２から取得する。
【００８６】
一方、前記Ｓ３２で算出された旋回半径が閾値未満であると判定された場合（Ｓ３３：ＮＯ）には、処理対象となる仮目標位置を次に軌道生成開始点に近い他の仮目標位置へと切り替えた後にＳ３２の処理を再度実行する。そして、処理対象となる全ての仮目標位置を対象として前記Ｓ３２及びＳ３３の処理を実行した結果、旋回半径が閾値以上となる仮目標位置が存在しない場合には、Ｓ３５へと移行する。
【００８７】
Ｓ３５においてＣＰＵ４１は、処理対象の仮目標位置の内、前記Ｓ３２で算出された旋回半径の最も大きい仮目標位置を制御目標地点に設定する。尚、対象が複数ある場合には該当する複数の仮目標位置の内、最も軌道生成開始点に近い仮目標位置を制御目標地点に設定する。
【００８８】
上記Ｓ３２〜Ｓ３５の処理を行った結果、図１４に示すように目標走行軌道５０に対して仮目標位置６２が所定間隔で設定されている場合には、除外範囲６１外にある仮目標位置６２の内、最も軌道生成開始点５１に近い地点Ｐ１を対象に地点Ｐ１に到達する到達軌道Ｌ１が生成され、旋回半径が閾値以上か否か判定される。そして、到達軌道Ｌ１の旋回半径が閾値未満である場合には、次に軌道生成開始点５１に近い地点Ｐ２を対象に地点Ｐ２に到達する到達軌道Ｌ２が生成され、旋回半径が閾値以上か否か判定される。更に、到達軌道Ｌ２の旋回半径が閾値未満である場合には、次に軌道生成開始点５１に近い地点Ｐ３を対象に地点Ｐ３に到達する到達軌道Ｌ３が生成され、旋回半径が閾値以上か否か判定される。以下同様にして、軌道生成開始点５１に近い順に各地点へ到達する到達軌道の旋回半径が閾値以上であるか否か判定される。そして、旋回半径が閾値以上であって、軌道生成開始点５１に最も近い仮目標位置６２を制御目標地点に設定する。一方、旋回半径が閾値以上となる仮目標位置６２が存在しない場合には、除外範囲６１外にある仮目標位置６２の内、最も旋回半径の大きい仮目標位置６２を制御目標地点に設定する。
【００８９】
以上詳細に説明した通り、本実施形態に係るナビゲーション装置１及びナビゲーション装置１で実行されるコンピュータプログラムでは、車両が走行する道路に対して目標とする走行軌道である目標走行軌道５０を設定し（Ｓ３）、目標走行軌道５０上であって軌道生成開始点５１から車両において実施されている自動運転支援の支援内容に基づく距離だけ進行方向前方の位置に、制御目標地点５２を設定し（Ｓ１４）、軌道生成開始点５１から制御目標地点５２へと走行する軌道を用いて、車両に走行させる制御軌道６０を生成する（Ｓ２０）ので、自動運転支援による車両の走行が行われている場合において、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能となる。従って、例えば急旋回による走行が不適な自動運転支援が行われている状態には、旋回半径の小さい制御軌道が生成されることを防止できる。また、車体の角度が頻繁に変位することが不適な自動運転支援が行われている状態には、頻繁な車両方位の変化を招く制御軌道が生成されることを防止できる。その結果、自動運転支援を適切に継続して実施することが可能となる。
【００９０】
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、車両に対して行われる自動運転支援として特に『車線維持走行支援』と『車線変更支援』を例に挙げて説明しているが、それ以外の自動運転支援が行われる場合においても実施可能である。例えば、前方車両との車間距離を一定距離（例えば１０ｍ）に保つ制御、一定速度（例えば制限速度の８０％）で走行する制御を行う自動運転支援がある。それらの支援内容に応じて除外範囲距離を適宜設定することにより、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能となる。
【００９１】
また、本実施形態では、『車線維持走行支援』が行われている場合には除外範囲距離を基本的に５ｍに設定し、『車線変更支援』が行われている場合には除外範囲距離を基本的に１０ｍ〜２０ｍに設定しているが、その距離は適宜変更可能である。例えば、障害物が近くにある場合には除外範囲距離をより短い距離（例えば２．５ｍ）に設定しても良い。
【００９２】
また、本実施形態では、『車線変更支援』が継続して実施される場合において除外範囲距離を時間経過に伴って徐々に短く設定しているが、『車線維持走行支援』が継続して実施される場合においても同様に除外範囲距離を時間経過に伴って徐々に短く設定しても良い。更に、『車線変更支援』が継続して実施された場合であっても、除外範囲距離を短くすることなく固定の距離としても良い。
【００９３】
また、本実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ＥＣＵ２０が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転支援として説明してきた。しかし、自動運転支援を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ＥＣＵ２０が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
【００９４】
また、本実施形態では、自動運転支援プログラム（図２）をナビゲーション装置１が実行する構成としているが、車両制御ＥＣＵ２０が実行する構成としても良い。その場合には、車両制御ＥＣＵ２０は車両の現在位置や地図情報等をナビゲーション装置１から取得する構成とする。
【００９５】
また、本発明はナビゲーション装置以外に、経路探索機能を有する装置に対して適用することが可能である。例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等（以下、携帯端末等という）に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転支援プログラム（図２参照）の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転支援が実行可能な車両と携帯端末等が通信可能に接続（有線無線は問わない）される必要がある。
【００９６】
また、本発明に係る自動運転支援装置を具体化した実施例について上記に説明したが、自動運転支援装置は以下の構成を有することも可能であり、その場合には以下の効果を奏する。
【００９７】
例えば、第１の構成は以下のとおりである。
車両において実施する自動運転支援に用いる支援情報を生成する自動運転支援装置（１）であって、車両が走行する道路に対して目標とする走行軌道である目標走行軌道（５０）を設定する走行軌道設定手段（４１）と、前記目標走行軌道上であって軌道生成開始点（５１）に対して車両において実施されている自動運転支援の支援内容に基づく進行方向前方の位置に、制御目標地点（５２）を設定する制御目標地点設定手段（４１）と、前記軌道生成開始点から前記制御目標地点へと走行する軌道を算出軌道として算出するとともに算出した算出軌道を用いて、車両に走行させる制御軌道（６０）を生成する制御軌道生成手段（４１）と、を有し、前記制御目標地点設定手段は、前記軌道生成開始点から車両において実施する自動運転支援の内容に基づいて設定された除外範囲距離内の範囲を除外範囲として設定し、前記除外範囲の外で前記軌道生成開始点から近い位置を優先して前記制御目標地点を設定する。
上記構成を有する自動運転支援装置によれば、自動運転支援による車両の走行が行われている場合において、自動運転支援の支援内容に応じた形状を有する制御軌道を生成することが可能となる。従って、例えば急旋回による走行が不適な自動運転支援が行われている状態には、旋回半径の小さい制御軌道が生成されることを防止できる。また、車体の角度が頻繁に変位することが不適な自動運転支援が行われている状態には、頻繁な車両方位の変化を招く制御軌道が生成されることを防止できる。その結果、自動運転支援を適切に継続して実施することが可能となる。
また、制御目標地点が軌道生成開始点に対して一定距離以上離れた位置に設定されるので、制御のハンチングが生じることを防止できる。例えば、制御目標地点を軌道生成開始点に対して接近して設定すると、生成される制御軌道と実施される車両制御との間でズレが生じる虞があるが、そのような問題を解消できる。また、制御のハンチングが生じることを防止する範囲でできる限り軌道生成開始点から近い位置に制御目標地点を設定するので、できる限り目標走行軌道に沿った制御軌道を生成することが可能となる。
【００９８】
また、第２の構成は以下のとおりである。
前記制御目標地点の設定並びに前記算出軌道の算出は複数回繰り返し行われ、先ず車両の現在位置を最初の軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われ、以降は前回の軌道生成開始点から前記制御目標地点（５２）へと走行する軌道に沿って走行すると仮定した所定時間後の車両の予測位置を新たな軌道生成開始点として前記制御目標地点の設定並びに前記算出軌道の算出が行われる。
上記構成を有する自動運転支援装置によれば、車両の現在位置に加えて所定時間後の車両位置を開始点としてそれぞれ目標走行軌道へと向かう軌道を生成し、生成した各軌道から最終的な制御軌道を生成するので、時間経過に伴う車両の位置と目標走行軌道の位置関係を用いて目標走行軌道に沿って走行させる為のより適切な制御軌道を生成することが可能となる。 
【００９９】
また、第３の構成は以下のとおりである。
前記制御軌道生成手段（４１）は、算出された複数の前記算出軌道について、算出軌道毎の前記軌道生成開始点（５１）から前記算出軌道に沿って走行すると仮定した所定時間後の車両の予測位置を繋いだ軌道を前記制御軌道として生成する。
上記構成を有する自動運転支援装置によれば、車両の現在位置と所定時間後の車両位置とを開始点としてそれぞれ目標走行軌道へと向かう軌道を生成し、生成した各軌道を繋げて最終的な制御軌道を生成するので、時間経過に伴う車両の位置と目標走行軌道の位置関係を用いて目標走行軌道に沿って走行させる為の適切な制御軌道を生成することが可能となる。 
【０１０１】
また、第４の構成は以下のとおりである。
前記制御目標地点設定手段（４１）は、前記軌道生成開始点（５１）から前記制御目標地点（５２）へと到達する軌道の最小の旋回半径が閾値以上となることを条件として前記制御目標地点を設定する。
上記構成を有する自動運転支援装置によれば、走行する車両の自動運転支援に係る走行制御を適切に行うことができ、且つ走行中の車両の乗員に負担が生じない制御軌道を生成することが可能となる。 
【０１０２】
また、第５の構成は以下のとおりである。
前記制御目標地点設定手段（４１）は、車両において実施する自動運転支援の内容が第１支援から第２支援へと切り替わった場合に、前記第１支援に対応した第１距離から前記第２支援に対応した第２距離へと前記除外範囲距離を複数段階で段階的に切り替える。
上記構成を有する自動運転支援装置によれば、車両において実施する自動運転支援の内容が切り替わった場合に、生成される制御軌道の旋回半径が急に変化することを防止することが可能となる。 
【０１０３】
また、第６の構成は以下のとおりである。
前記除外範囲距離の切り替えは、前記第１距離が前記第２距離よりも長い場合には、前記第１距離から前記第２距離へと前記除外範囲距離を複数段階で段階的に切り替え、前記第１距離が前記第２距離よりも短い場合には、前記第１距離から前記第２距離へと前記除外範囲距離を１段階で切り替える。
上記構成を有する自動運転支援装置によれば、車両において実施する自動運転支援の内容が切り替わった場合に、生成される制御軌道の旋回半径が急に小さくなる（即ち横加速度が急に大きく）ことを防止することが可能となる。一方で、生成される制御軌道の旋回半径が大きくなることは許容することによって、切り替わった後の自動運転支援の支援内容に応じた形状を有する制御軌道を迅速に生成することが可能となる。 
【０１０４】
また、第７の構成は以下のとおりである。
前記制御目標地点設定手段（４１）は、車両において同一の自動運転支援が継続して行われる場合において、前記除外範囲距離を徐々に短くする。
上記構成を有する自動運転支援装置によれば、車線変更制御を行う場合に、最初は比較的緩やかに走行位置を変化させ、徐々に制御量を大きくするので、よりスムーズな車線変更制御が可能となる。 
【０１０５】
また、第８の構成は以下のとおりである。
車両において実施する自動運転支援は、同一の車線を維持して走行する車線維持走行支援と、異なる車線へと車線変更する為の車線変更支援とがあって、前記車線変更支援は前記車線維持走行支援よりも前記除外範囲距離が長く設定される。
上記構成を有する自動運転支援装置によれば、車両において車線維持走行支援が行われている場合には制御目標地点を近い位置に設定することによって、機敏に走行位置を修正し、車線中央からずれやふらつきを抑えることができる。一方、車両において車線変更支援が行われている場合には制御目標地点を遠い位置に設定することによって、比較的緩やかに走行位置を変化させ、車線に対して車体の角度をつけすぎずに移動させる制御軌道を生成することが可能となる。
【符号の説明】
【０１０６】
１                ナビゲーション装置
１３              ナビゲーションＥＣＵ
４１              ＣＰＵ
４２              ＲＡＭ
４３              ＲＯＭ
５０              目標走行軌道
５１              軌道生成開始点
５２              制御目標地点
５３              走行軌道
６０              制御軌道
６１              除外範囲
６２              仮目標位置
【図１】
0006614025.tif 000002
【図２】
0006614025.tif 000003
【図３】
0006614025.tif 000004
【図４】
0006614025.tif 000005
【図５】
0006614025.tif 000006
【図６】
0006614025.tif 000007
【図７】
0006614025.tif 000008
【図８】
0006614025.tif 000009
【図９】
0006614025.tif 000010
【図１０】
0006614025.tif 000011
【図１１】
0006614025.tif 000012
【図１２】
0006614025.tif 000013
【図１３】
0006614025.tif 000014
【図１４】
0006614025.tif 000015