以下、本発明に係る車両運転支援装置、車両運転支援方法及びプログラムをナビゲーション装置について具体化した一実施例に基づき図面を参照しつつ詳細に説明する。
[自車両の概略構成]
本実施例に係る自車両1の概略構成について図1に基づいて説明する。図1に示すように、本実施例に係る自車両1は自車両1に対して設置されたナビゲーション装置2と、車両制御ECU(Electronic Control Unit)3とから基本的に構成されている。
ここで、ナビゲーション装置2は、自車両1の室内のセンターコンソール又はパネル面に備え付けられ、車両周辺の地図や目的地までの探索経路を表示する液晶ディスプレイ(LCD)15や、経路案内に関する音声ガイダンスを出力するスピーカ16等を備えている。そして、GPS31等によって自車両1の現在位置を特定するととともに、目的地が設定された場合においては目的地までの複数の経路の探索、並びに設定された案内経路に従った案内を液晶ディスプレイ15やスピーカ16を用いて行う。尚、ナビゲーション装置2の詳細な構成については後述する。
車両制御ECU3は、自車両1の全体の制御を行う電子制御ユニットである。また、車両制御ECU3には、ナビゲーション装置2が備える後述のナビゲーション制御部13が接続されている。また、車両制御ECU3には、スピードメータ等を表示する車載ディスプレイ(車載LCD)5、ヒューマンインタフェース(HMI)6、前方撮影用カメラ76A、後方撮影用カメラ76B、ミリ波レーダ77、車速を検出する車速センサ51、風向きを検出する風向きセンサ52等が接続されている。
車両制御ECU3は、演算装置及び制御装置としてのCPU71、並びにCPU71が各種の演算処理を行うに当たってワーキングメモリとして使用されるRAM72、制御用のプログラム等が記録されたROM73等の内部記憶装置を備えている。そして、CPU71は、ナビゲーション装置2のナビゲーション制御部13から受信した案内経路の経路データ、経路上の各リンクの勾配情報、リンク長さ等に基づいて、運転計画を作成する。
ヒューマンインタフェース6には、自動運転で追従走行する候補車両の検出開始を指示する追従用車両検出ボタン61等が設けられている。ドライバは、高速自動車国道、都市高速道路、一般有料道路等の有料道路において、追従用車両検出ボタン61を押下することによって、車両制御ECU3に対して前方撮影用カメラ76Aとミリ波レーダ77によって自車前方の周辺車両の検出開始を指示することができる。
CPU71は、自車前方の周辺車両の検出開始の指示が入力された場合には、追従用車両検出ボタン61が押下された旨を表す検出開始信号をナビゲーション装置2へ通知する。その後、CPU71は、前方撮影用カメラ76Aとミリ波レーダ77によって自車前方の周辺車両のそれぞれについて、自車両1に対する相対位置を検出する。そして、CPU71は、ナビゲーション装置2から追従目標車両及び追従位置を入力された場合には、不図示のエンジン装置、ブレーキ装置、電動パワーステアリング等を駆動制御して、自動運転で追従目標車両を入力された追従位置で追従する追従走行を開始する。
前方撮影用カメラ76Aは、自車両1のルームミラー付近に取り付けられ、CCDカメラ等により構成されて自車前方を撮影して、画像信号を車両制御ECU3に出力する。後方撮影用カメラ76Bは、自車両1の後端部に取り付けられ、CCDカメラ等により構成されて自車後方を撮影して、画像信号を車両制御ECU3に出力する。CPU71は、前方撮影用カメラ76Aから入力された画像信号を画像処理して、自車前方の周辺車両の自車両1に対する相対位置を検出し、ナビゲーション装置2へ出力する。また、CPU71は、後方撮影用カメラ76Bから入力された画像信号を画像処理して、自車後方の周辺のスペースを検出し、ナビゲーション装置2へ出力する。
ミリ波レーダ77は、自車両1の先端部中央位置に取り付けられ、自車前方の周辺車両までの距離や周辺車両の相対速度を検出して、この検出した周辺車両までの距離や周辺車両の相対速度のデータを車両制御ECU3に出力する。CPU71は、ミリ波レーダ77から入力された周辺車両までの距離や周辺車両の相対速度のデータに基づいて、自車前方の周辺車両の自車両1に対する相対位置を検出し、ナビゲーション装置2へ出力する。
[ナビゲーション装置の概略構成]
続いて、ナビゲーション装置2の概略構成について説明する。図1に示すように、本実施例に係るナビゲーション装置2は、自車の現在位置等を検出する現在地検出処理部11と、各種のデータが記録されたデータ記録部12と、入力された情報に基づいて、各種の演算処理を行うナビゲーション制御部13と、操作者からの操作を受け付ける操作部14と、操作者に対して地図等の情報を表示する液晶ディスプレイ(LCD)15と、経路案内等に関する音声ガイダンスを出力するスピーカ16と、不図示の道路交通情報センタや不図示の地図情報配信センタ等との間で携帯電話網等を介して通信を行う通信装置17と、液晶ディスプレイ15の表面に装着されたタッチパネル18とから構成されている。
尚、タッチパネル18に替えて、リモコン、ジョイスティック、マウス、タッチパッド等を設けてもよい。
また、ナビゲーション制御部13には車速センサ51と風向きセンサ52が接続されている。また、ナビゲーション制御部13には、車両制御ECU3が電気的に接続され、自車前方の周辺車両の自車両1に対する相対位置関係等を取得可能に構成されている。
以下に、ナビゲーション装置2を構成する各構成要素について説明すると、現在地検出処理部11は、GPS31等からなり、自車両1の現在位置(以下、「自車位置」という。)、自車方位、走行距離、仰角等を検出することが可能となっている。例えば、ジャイロセンサによって3軸の旋回速度を検出し、方位(水平方向)及び仰角の進行方向をそれぞれ検出することができる。
また、通信装置17は、不図示のプローブセンタ、道路交通情報センタ等から配信された最新の交通情報や天気、気温、降水量、風向風速等の気象情報を所定時間間隔で(例えば、5分間隔である。)受信することが可能に構成されている。また、この「交通情報」は、例えば、各リンクの旅行時間、道路の渋滞等に関する道路渋滞情報、道路工事、建築工事等による交通規制情報等の交通情報に関する詳細情報である。該詳細情報は、道路渋滞情報の場合、渋滞の実際の長さ、渋滞解消の見込まれる時刻等であり、交通規制情報の場合、道路工事、建築工事等の継続期間、通行止め、片側交互通行、車線規制等の交通規制の種類、交通規制の時間帯等である。通信装置17は、自車両1の周辺車両に搭載された通信装置と双方向通信可能に構成されている。
また、データ記録部12は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記憶された地図情報データベース(地図情報DB)25及び、所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込むためのドライバ(図示せず)とを備えている。また、地図情報DB25には、ナビゲーション装置2の走行案内や経路探索に使用されるナビ地図情報26が格納されている。
ここで、ナビ地図情報26は、経路案内及び地図表示に必要な各種情報から構成されており、例えば、各新設道路を特定するための新設道路情報、地図を表示するための地図表示データ、各交差点に関する交差点データ、ノード点に関するノードデータ、道路(リンク)に関するリンクデータ、経路を探索するための探索データ、施設の一種である店舗等のPOI(Point of Interest)に関する施設データ、地点を検索するための検索データ等から構成されている。
また、ノードデータとしては、実際の道路の分岐点(交差点、T字路等も含む)、各道路に曲率半径等に応じて所定の距離ごとに設定されたノードの座標(位置)、ノードの標高、ノードが交差点に対応するノードであるか等を表すノード属性、ノードに接続するリンクの識別番号であるリンクIDのリストである接続リンク番号リスト、ノードにリンクを介して隣接するノードのノード番号のリストである隣接ノード番号リスト等に関するデータ等が記録される。
また、リンクデータとしては、道路を構成する各リンクに関してリンクを特定するリンクID、リンクの長さを示すリンク長さ、リンクの始点と終点の座標位置(例えば、緯度と経度である。)、中央分離帯の有無、リンクの勾配、リンクの属する道路の幅員、車線数、法定速度、踏切り等を表すデータが、コーナに関して、曲率半径、交差点、T字路、コーナの入口及び出口等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道路のほか、高速自動車国道、都市高速道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。
更に、有料道路に関して、有料道路の入口及び出口の取付道(ランプウェイ)、料金所(インターチェンジ)、走行区間毎の料金等に関するデータが記録される。尚、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路の有料の道路を有料道路という。また、有料道路を除いた1桁又は2桁の国道、3桁以上の国道、主要地方道、県道、市町村道等を一般道路という。
また、探索データとしては、設定された目的地までの経路を探索及び表示する際に使用されるデータについて記録されており、ノードを通過する際のコスト(以下、ノードコストという)や道路を構成するリンクのコスト(以下、リンクコストという)からなる探索コストを算出する為に使用するコストデータ、経路探索により選択された案内経路を液晶ディスプレイ15の地図上に表示するための経路表示データ等から構成されている。このリンクコストは、そのリンクを通過する際にかかる平均旅行時間を示すデータであって、例えば「3(min)」等になっている。
また、施設データとしては、各地域のホテル、遊園地、宮殿、病院、ガソリンスタンド、駐車場、駅、空港、フェリー乗り場、インターチェンジ(IC)、ジャンクション(JCT)、サービスエリア、パーキングエリア(PA)等のPOIに関する名称や住所、電話番号、地図上の座標位置(例えば、中心位置、入口、出口等の緯度と経度である。)、地図上に施設の位置を表示する施設アイコンやランドマーク等のデータがPOIを特定する施設IDとともに記憶されている。また、ユーザが登録したコンビニエンスストア、ガソリンスタンド等の登録施設を特定する登録施設IDも記憶されている。
また、地図情報DB25の内容は、不図示の地図情報配信センタから通信装置17を介して配信された更新情報をダウンロードすることによって更新される。
また、図1に示すように、ナビゲーション装置2を構成するナビゲーション制御部13は、ナビゲーション装置2の全体の制御を行う演算装置及び制御装置としてのCPU41、並びにCPU41が各種の演算処理を行うに当たってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM42、制御用のプログラム等が記憶されたROM43等の内部記憶装置や、時間を計測するタイマ45等を備えている。また、ROM43には、後述の追従走行可能な候補車両と追従条件を提示した後、選択された追従条件に従って追従目標車両を設定して追従走行を行う「追従走行処理」(図2参照)等のプログラムが記憶されている。
操作部14は、走行開始時の現在位置を修正し、案内開始地点としての出発地及び案内終了地点としての目的地を入力する際や施設に関する情報の検索を行う場合等に操作され、各種のキーや複数の操作スイッチから構成される。そして、ナビゲーション制御部13は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。
また、液晶ディスプレイ15には、現在走行中の地図情報、目的地周辺の地図情報、操作案内、操作メニュー、キーの案内、現在地から目的地までの案内経路、案内経路に沿った案内情報、交通情報、ニュース、天気予報、時刻、メール、テレビ番組等、後述のように、追従走行可能な候補車両と候補車両の追従可能位置とが表示される。
また、スピーカ16は、ナビゲーション制御部13からの指示に基づいて、案内経路に沿った走行を案内する音声ガイダンス等を出力する。ここで、案内される音声ガイダンスとしては、例えば、「200m先、○○交差点を右方向です。」等がある。
また、タッチパネル18は、液晶ディスプレイ15の表示画面上に装着された透明なパネル状のタッチスイッチであり、液晶ディスプレイ15の画面に表示されたボタンや地図上を押下することによって各種指示コマンドの入力等をすることが可能に構成されている。尚、タッチパネル18は、液晶ディスプレイ15の画面を直接押下する光センサ液晶方式等で構成してもよい。
[追従走行処理]
次に、上記のように構成された自車両1において、ナビゲーション装置2のCPU41によって実行される処理であって、追従走行可能な候補車両と追従条件を提示した後、選択された追従条件に従って追従目標車両を設定して追従走行を行う「追従走行処理」について図2乃至図19に基づいて説明する。尚、図2にフローチャートで示されるプログラムは、車両制御ECU3から追従用車両検出ボタン61が押下された旨を表す検出開始信号がナビゲーション装置2へ入力された場合に、CPU41によって実行される。
図2に示すように、先ず、ステップ(以下、Sと略記する)11において、ナビゲーション装置2のCPU41は、車両制御ECU3に対して、自車前方の周辺車両のそれぞれについて検出した自車両1に対する相対位置を送信するように要求する。そして、CPU41は、車両制御ECU3から受信した自車前方の周辺車両の自車両1に対する相対位置をRAM42に記憶する。
続いて、S12において、CPU41は、ナビ地図情報26から自車位置の存在するリンクの属する道路の幅員、車線数を読み出す。そして、CPU41は、自車前方の周辺車両の自車両1に対する相対位置をRAM42から順番に読み出し、道路の全幅に渡って自車前方Xmの範囲内、例えば、自車前方120mの範囲内に存在するか否かを判定する判定処理を実行する。例えば、図3に示すように、自車両1の走行している有料道路81の全幅に渡って、自車前方Xmの略矩形状の範囲内に他車両が存在するか否かを判定する。そして、自車前方Xmの範囲内に他車両が存在しない場合には(S12:NO)、CPU41は、S13の処理に移行する。
S13において、CPU41は、液晶ディスプレイ15に自車前方に追従走行可能な候補車両が存在しない旨を表示した後、当該処理を終了する。例えば、CPU41は、「追従できる候補車両がいません。」と液晶ディスプレイ15に表示すると共に、スピーカ16を介して「追従できる候補車両がいません。」と音声案内を行う。
一方、自車前方Xmの範囲内に他車両が存在する場合には(S12:YES)、CPU41は、この他車両の相対位置を追従走行可能な候補車両の相対位置としてRAM42に記憶する。例えば、図3に示すように、自車両1の走行するレーンの前方に追従走行可能な候補車両82が存在する場合には、候補車両82の相対位置をRAM42に記憶する。
続いて、CPU41は、自車前方に存在する追従走行可能な候補車両のうち、中央線から最も外側に位置する候補車両を選択する。そして、S14において、CPU41は、この候補車両の追従可能位置を判定する後述の「追従可能位置判定処理」のサブ処理(図4及び図5参照)を実行する。
その後、CPU41は、車両IDを付与した候補車両の中央車線側に次の候補車両が存在するか否かを判定する判定処理を実行する。そして、車両IDを付与した候補車両の中央車線側に次の候補車両が存在すると判定した場合には、CPU41は、次の候補車両を選択して、再度S14の処理を実行する。一方、車両IDを付与した候補車両の中央車線側に次の候補車両が存在しない、つまり、自車前方に存在する追従走行可能な候補車両の全部に車両IDを付与したと判定した場合には、CPU41は、S15の処理に移行する。
S15において、CPU41は、RAM42から視界優先フラグと強風優先フラグとを読み出し、両フラグがOFFに設定されているか否かを判定する判定処理を実行する。つまり、CPU41は、追従目標車両の追従位置を設定するための「視界良好条件」と「風向き条件」とのうち、いずれかが選択されたか否かを判定する判定処理を実行する。尚、ナビゲーション装置2の起動時に、視界優先フラグと強風優先フラグとは、OFFに設定されてRAM42に記憶される。
そして、視界優先フラグ及び強風優先フラグがOFFに設定されていると判定した場合には(S15:YES)、CPU41は、追従目標車両の追従位置を設定するための「視界良好条件」と「風向き条件」とのうち、いずれも選択されていないと判定して、S16の処理に移行する。S16において、CPU41は、「視界良好条件」と「風向き条件」とのうち、いずれかの選択を受け付ける後述の「追従条件選択処理」のサブ処理(図9参照)を実行した後、当該処理を終了する。
一方、視界優先フラグと強風優先フラグのうち、一方がONに設定されていると判定した場合には(S15:NO)、CPU41は、追従目標車両の追従位置を設定するための「視界良好条件」と「風向き条件」とのうち、いずれかが選択されたと判定して、S17の処理に移行する。S17において、CPU41は、選択された追従条件に従って追従目標車両の追従位置を設定して追従走行を行う後述の「追従条件達成状況判定処理」のサブ処理(図11、図12参照)を実行した後、当該処理を終了する。
[追従可能位置判定処理]
次に、S14でCPU41が実行する「追従可能位置判定処理」のサブ処理について図4乃至図8に基づいて説明する。
図4に示すように、先ず、S111において、CPU41は、選択した候補車両に対して他の候補車両と識別するための車両IDを決定し、例えば、車両IDとして「1」を決定して、つまり、車両IDを付与して、この候補車両の自車両1に対する相対位置に関連づけてRAM42に記憶する。
そして、S112において、CPU41は、車両制御ECU3に対して、候補車両の後方スペースを測定するように要求する。
これにより、例えば、図6に示すように、車両制御ECU3のCPU71は、自車両1の前端部から候補車両83の後端部までの距離D1を、前方撮影用カメラ76Aによって撮影した画像データを画像処理して測定し、又は、ミリ波レーダ77によって測定して、ナビゲーション装置2へ出力する。また、CPU71は、前方撮影用カメラ76Aによって撮影した画像データと後方撮影用カメラ76Bによって撮影した画像データとを画像処理して、候補車両83の後方において、自車両1の先端部から後方のスペースの距離L1を測定して、ナビゲーション装置2へ出力する。
そして、CPU41は、自車両1の前端部から候補車両の後端部までの距離D1と、候補車両の後方において、自車両1の先端部から後方のスペースの距離L1を車両制御ECU3から受信すると、各距離D1、L1をRAM42に記憶した後、S113の処理に移行する。
S113において、CPU41は、自車両1の前端部から候補車両の後端部までの距離D1が一定値以上か否か、例えば、現在走行しているリンクの法定速度をナビ地図情報26から読み出し、この法定速度で3秒間走行する距離以上か否かを判定する判定処理を実行する。つまり、CPU41は、候補車両と自車両1との間に安全な車間距離がとれるか否かを判定する。
そして、自車両1の前端部から候補車両の後端部までの距離D1が一定値よりも短いと判定した場合には(S113:NO)、CPU41は、S114の処理に移行する。S114において、CPU41は、RAM42から後方フラグを読み出し、後方フラグをOFFに設定してRAM42に記憶した後、S117の処理に移行する。
一方、自車両1の前端部から候補車両の後端部までの距離D1が一定値以上であると判定した場合には(S113:YES)、CPU41は、S115の処理に移行する。S115において、CPU41は、候補車両の後方スペースの距離(D1+L1)が、Y(m)以上か否か、例えば、現在走行しているリンクの法定速度をナビ地図情報26から読み出し、この法定速度で12秒間走行する距離以上か否かを判定する判定処理を実行する。つまり、CPU41は、候補車両と自車両1との間に十分な車間距離をとって、候補車両の後方を安全に走行することができるか否かを判定する。
そして、候補車両の後方スペースの距離(D1+L1)が、Y(m)未満であると判定した場合には(S115:NO)、CPU41は、上記S114の処理に移行する。一方、候補車両の後方スペースの距離(D1+L1)が、Y(m)以上であると判定した場合には(S115:YES)、CPU41は、S116の処理に移行する。S116において、CPU41は、RAM42から後方フラグを読み出し、後方フラグをONに設定してRAM42に記憶した後、S117の処理に移行する。
S117において、CPU41は、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1の測定を車両制御ECU3へ要求する。これにより、車両制御ECU3のCPU71は、前方撮影用カメラ76Aによって撮影した画像データを画像処理して、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1を測定して、ナビゲーション装置2へ送信する。そして、CPU41は、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1を車両制御ECU3から受信した場合には、距離H1をRAM42に記憶する。
尚、図7に示すように、車両制御ECU3のCPU71は、自車両1の幅方向中心を0とし、候補車両85の幅方向中心が自車両1幅方向中心に対して右側に存在している場合には、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1は「正」とする。また、CPU71は、候補車両85の幅方向中心が自車両1の幅方向中心に対して左側に存在している場合には、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1は「負」とする。
その後、CPU41は、候補車両の存在位置が自車両1の右側レーンでないか否か、つまり、候補車両の存在位置が自車両1と同じ走行レーン又は自車両1の左側レーンか否かを判定する判定処理を実行する。具体的には、CPU41は、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1をRAM42から読み出し、距離H1が所定の第1値以下か否か、例えば、距離H1が1(m)以下か否かを判定する判定処理を実行する。
そして、候補車両の存在位置が自車両1と同じ走行レーン又は自車両1の左側レーンであると判定した場合、具体的には、距離H1は1(m)より大きいと判定した場合には(S117:NO)、CPU41は、S118の処理に移行する。S118において、CPU41は、RAM42から右側フラグを読み出し、右側フラグをOFFに設定してRAM42に記憶した後、S122の処理に移行する。
一方、候補車両の存在位置が自車両1の右側レーンでないと判定した場合、具体的には、距離H1は1(m)以下であると判定した場合には(S117:YES)、CPU41は、S119の処理に移行する。S119において、CPU41は、車両制御ECU3に対して、候補車両の右側スペースを測定するように要求する。
これにより、車両制御ECU3のCPU71は、前方撮影用カメラ76Aによって撮影した画像データを画像処理して、自車両1の先端部から候補車両の先端部までの候補車両の右側スペースの長さF1を測定し、ナビゲーション装置2へ送信する。そして、CPU41は、自車両1の先端部から候補車両の先端部までの候補車両の右側スペースの長さF1を車両制御ECU3から受信すると、候補車両の右側スペースの長さF1をRAM42に記憶した後、S120の処理に移行する。
S120において、CPU41は、候補車両の右側スペースの長さF1がZ(m)以上か否か、つまり、安全な車間距離以上か否かを判定する判定処理を実行する。具体的には、CPU41は、現在走行しているリンクの法定速度をナビ地図情報26から読み出し、この法定速度で2秒〜3秒間走行する距離以上か否かを判定する判定処理を実行する。そして、自車両1の先端部から候補車両の先端部までの候補車両の右側スペースの長さF1がZ(m)よりも短いと判定した場合には(S120:NO)、CPU41は、上記S118の処理を実行した後、S122の処理に移行する。
一方、自車両1の先端部から候補車両の先端部までの候補車両の右側スペースの長さF1がZ(m)以上であると判定した場合には(S120:YES)、CPU41は、S121の処理に移行する。S121において、CPU41は、RAM42から右側フラグを読み出し、右側フラグをONに設定してRAM42に記憶した後、S122の処理に移行する。
図5に示すように、S122において、CPU41は、候補車両の存在位置が自車両1の左側レーンでないか否か、つまり、候補車両の存在位置が自車両1と同じ走行レーン又は自車両1の右側レーンか否かを判定する判定処理を実行する。具体的には、CPU41は、自車両1の幅方向中心から候補車両の幅方向の中心までの距離H1をRAM42から読み出し、距離H1が所定の第2値以上か否か、例えば、距離H1が−1(m)以上か否かを判定する判定処理を実行する。
そして、候補車両の存在位置が自車両1と同じ走行レーン又は自車両1の右側レーンであると判定した場合、具体的には、距離H1は−1(m)より小さいと判定した場合には(S122:NO)、CPU41は、S123の処理に移行する。S123において、CPU41は、RAM42から左側フラグを読み出し、左側フラグをOFFに設定してRAM42に記憶した後、S127の処理に移行する。
一方、候補車両の存在位置が自車両1の左側レーンでないと判定した場合、具体的には、距離H1は−1(m)以上であると判定した場合には(S122:YES)、CPU41は、S124の処理に移行する。S124において、CPU41は、車両制御ECU3に対して、候補車両の左側スペースを測定するように要求する。
これにより、車両制御ECU3のCPU71は、前方撮影用カメラ76Aによって撮影した画像データを画像処理して、自車両1の先端部から候補車両の先端部までの候補車両の左側スペースの長さF1を測定し、ナビゲーション装置2へ送信する。例えば、図8に示すように、CPU71は、前方撮影用カメラ76Aによって撮影した画像データを画像処理して、自車両1の右側レーン86を走行する候補車両87の左側スペース88の長さF1を測定し、ナビゲーション装置2へ送信する。
そして、CPU41は、自車両1の先端部から候補車両の先端部までの候補車両の左側スペースの長さF1を車両制御ECU3から受信すると、候補車両の左側スペースの長さF1をRAM42に記憶した後、S125の処理に移行する。S125において、CPU41は、候補車両の左側スペースの長さF1がZ(m)以上か否か、つまり、安全な車間距離以上か否かを判定する判定処理を実行する。具体的には、CPU41は、現在走行しているリンクの法定速度をナビ地図情報26から読み出し、この法定速度で2秒〜3秒間走行する距離以上か否かを判定する判定処理を実行する。
そして、自車両1の先端部から候補車両の先端部までの候補車両の左側スペースの長さF1がZ(m)よりも短いと判定した場合には(S125:NO)、CPU41は、上記S123の処理を実行した後、S127の処理に移行する。一方、自車両1の先端部から候補車両の先端部までの候補車両の左側スペースの長さF1がZ(m)以上であると判定した場合には(S125:YES)、CPU41は、S126の処理に移行する。S126において、CPU41は、RAM42から左側フラグを読み出し、左側フラグをONに設定してRAM42に記憶した後、S127の処理に移行する。
S127において、CPU41は、RAM42から後方フラグ、右側フラグ、及び、左側フラグを読み出し、当該候補車両の車両IDに関連づけてRAM42に記憶する。続いて、S128において、CPU41は、RAM42から後方フラグ、右側フラグ、及び、左側フラグを読み出す。そして、後方フラグがONに設定されている場合には、候補車両の後方位置に対して、他の追従可能位置と識別するための追従位置IDを決定し、例えば、車両IDが「1」の場合には、追従位置IDとして「1−1」を決定して、つまり、追従位置IDを付与して、当該候補車両の車両ID及び該候補車両の後方位置に関連づけてRAM42に記憶する。つまり、当該車両IDが付与された候補車両の後方が自動運転で追従可能な走行位置である旨を追従位置IDに関連づけてRAM42に記憶する。
また、右側フラグがONに設定されている場合には、候補車両の右側と右斜め後方のそれぞれに対する追従位置IDを決定し、例えば、車両IDが「1」の場合には、追従位置IDとして「1−2」と「1−3」を決定して、つまり、追従位置IDを付与して、当該候補車両の車両ID及び該候補車両の右側と右斜め後方の各位置に関連づけてRAM42に記憶する。つまり、当該車両IDが付与された候補車両の右側と右斜め後方が自動運転で追従可能な走行位置である旨を追従位置IDに関連づけてRAM42に記憶する。
また、左側フラグがONに設定されている場合には、候補車両の左側と左斜め後方のそれぞれに対する追従位置IDを決定し、例えば、車両IDが「1」の場合には、追従位置IDとして「1−4」と「1−5」を決定して、つまり、追従位置IDを付与して、当該候補車両の車両ID及び該候補車両の左側と左斜め後方の各位置に関連づけてRAM42に記憶する。つまり、当該車両IDが付与された候補車両の左側と左斜め後方が自動運転で追従可能な走行位置である旨を追従位置IDに関連づけてRAM42に記憶する。その後、CPU41は、当該車両IDを付与した候補車両に対する「追従可能位置判定処理」のサブ処理を終了して、メインフローチャートに戻る。
[追従条件選択処理]
次に、S16でCPU41が実行する「追従条件選択処理」のサブ処理について図9及び図10に基づいて説明する。図9に示すように、先ず、S211において、CPU41は、追従目標車両を追従する時に、ドライバの視界が良好に保つことができる位置で追従するように要求する「視界良好条件」と、風の影響が少ない位置で追従するように要求する「風向き条件」とのうち、優先したい追従条件の選択を受け付ける追従条件選択画面を、液晶ディスプレイ15に表示する。具体的には、CPU41は、「視界良好条件」を優先する旨を入力する視界良好優先ボタンと、「風向き条件」を優先する旨を入力する風向き優先ボタンとを液晶ディスプレイ15に表示する。
そして、S212において、CPU41は、上記S11で検出した自車前方Xmの道路上に存在する追従走行可能な候補車両と自車両1とを上方から見た俯瞰図を作成して、液晶ディスプレイ15に表示する。
例えば、図10に示すように、CPU41は、液晶ディスプレイ15の表示画面の左側半分に、優先したい追従条件の選択を受け付ける追従条件選択画面91を表示し、表示画面の右側半分に、追従走行可能な各候補車両92、93と自車両1とを上方から見た俯瞰図95を表示する。また、CPU41は、追従条件選択画面91に、「視界良好条件」を優先する旨を入力する視界良好優先ボタン96と、その右側に「視界良好優先」の文字列を表示する。また、CPU41は、視界良好優先ボタン96の下側に、「風向き条件」を優先する旨を入力する風向き優先ボタン97を表示し、その右側に「強風防止優先」の文字列を表示する。
従って、ドライバが視界良好優先ボタン96又は風向き優先ボタン97のいずれかを押下することによって、CPU41は、タッチパネル18を介して各ボタン96、97のうち、いずれが押下されたかを検出する。そして、CPU41は、タッチパネル18を介して視界良好優先ボタン96の押下を検出した場合には、「視界良好条件」を優先したい追従条件として受け付ける。また、CPU41は、タッチパネル18を介して風向き優先ボタン97の押下を検出した場合には、「風向き条件」を優先したい追従条件として受け付ける。
その後、S213において、CPU41は、RAM42からタイムカウンタのカウント値を読み出し、「0」にセットして再度RAM42に記憶する。つまり、CPU41は、タイムカウンタを初期化する。
続いて、S214において、CPU41は、「視界良好条件」と「風向き条件」とのうち、いずれかが選択されたか否かを判定する判定処理を実行する。具体的には、CPU41は、上記S211で追従条件選択画面に表示した視界良好優先ボタンと風向き優先ボタンとのうち、いずれかが押下されたか否かを判定する判定処理を実行する。
そして、「視界良好条件」と「風向き条件」とのうち、いずれも選択されていないと判定した場合には(S214:NO)、CPU41は、S215の処理に移行する。S215において、CPU41は、RAM42からタイムカウンタのカウント値を読み出し、「1」加算して、再度RAM42に記憶する。続いて、S216において、CPU41は、RAM42からタイムカウンタのカウント値を読み出し、所定の数値「N」よりも大きいか否か、即ち、所定待ち時間N、例えば、待ち時間30秒が経過したか否かを判定する判定処理を実行する。
そして、RAM42から読み出したタイムカウンタのカウント値が「N」以下であると判定した場合には(S216:NO)、CPU41は、再度S214以降の処理を実行する。一方、RAM42から読み出したタイムカウンタのカウント値が「N」よりも大きいと判定した場合には(S216:YES)、CPU41は、当該「追従条件選択処理」のサブ処理を終了して、メインフローチャートに戻る。
他方、S214で「視界良好条件」と「風向き条件」とのうち、いずれかが選択されたと判定した場合には、つまり、視界良好優先ボタンと風向き優先ボタンとのうち、いずれかが押下されたと判定した場合には(S214:YES)、CPU41は、S217の処理に移行する。S217において、CPU41は、「視界良好条件」が選択されたか否か、つまり、視界良好優先ボタンが押下されたか否かを判定する判定処理を実行する。
そして、「視界良好条件」が選択されたと判定した場合には(S217:YES)、CPU41は、S218の処理に移行する。S218において、CPU41は、RAM42から視界優先フラグを読み出し、この視界優先フラグをONに設定して、再度RAM42に記憶する。続いて、S219において、CPU41は、RAM42から強風優先フラグをRAM42から読み出し、この強風優先フラグをOFFに設定して、再度RAM42に記憶した後、後述のS222の処理に移行する。
一方、「視界良好条件」が選択されていないと判定した場合、つまり、「風向き条件」が選択されたと判定した場合には(S217:NO)、CPU41は、S220の処理に移行する。S220において、CPU41は、RAM42から強風優先フラグを読み出し、この強風優先フラグをONに設定して、再度RAM42に記憶する。続いて、S221において、CPU41は、RAM42から視界優先フラグをRAM42から読み出し、この視界優先フラグをOFFに設定して、再度RAM42に記憶した後、S222の処理に移行する。
S222において、CPU41は、自車両1の追従目標車両を追従する追従位置が設定されている旨を表す追従位置フラグをRAM42から読み出し、この追従位置フラグをOFFに設定して、再度RAM42に記憶する。その後、CPU41は、当該「追従条件選択処理」のサブ処理を終了して、メインフローチャートに戻る。尚、ナビゲーション装置2の起動時に、追従位置フラグはOFFに設定されてRAM42に記憶される。
[追従条件達成状況判定処理]
次に、S17でCPU41が実行する「追従条件達成状況判定処理」のサブ処理について図11乃至図19に基づいて説明する。図11に示すように、先ず、S311において、CPU41は、視線優先フラグをRAM42から読み出し、ONに設定されているか否かを判定する判定処理を実行する。そして、視線優先フラグがONに設定されていると判定した場合には(S311:YES)、CPU41は、S312の処理に移行する。
S312において、CPU41は、追従位置がドライバの視界を良好に保つことができるか否かを判定する「視界良好判定処理」のサブ処理(図13参照)を実行した後、S313の処理に移行する。S313において、CPU41は、ONに設定された視界良好フラグに関連づけられた追従位置ID、つまり、追従位置がドライバの視界を良好に保つことができると判定された追従位置IDをRAM42から読み出し、後述のS316の処理に移行する。
[視界良好判定処理]
ここで、「視界良好判定処理」のサブ処理について図13、図14及び図17に基づいて説明する。図13に示すように、先ず、S411において、CPU41は、各候補車両の追従位置IDをRAM42から読み出す。そして、S412において、CPU41は、ナビ地図情報26に基づいて、自車位置から進行方向前方所定距離、例えば、約300mまで走行する案内経路のノードデータとリンクデータから道路形状を取得する。
続いて、S413において、CPU41は、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が直進か否かを判定する判定処理を実行する。そして、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が直進であると判定した場合には(S413:YES)、CPU41は、S414の処理に移行する。S414において、CPU41は、追従目標車両を検出する検出対象方向を自車両1の前方に設定した後、後述のS418の処理に移行する。
一方、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が直進でないと判定した場合には(S413:NO)、CPU41は、S415の処理に移行する。S415において、CPU41は、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が左カーブか否かを判定する判定処理を実行する。そして、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が左カーブであると判定した場合には(S415:YES)、CPU41は、S416の処理に移行する。S416において、CPU41は、追従目標車両を検出する検出対象方向を自車両1の左前方に設定した後、後述のS418の処理に移行する。
一方、自車位置から進行方向前方所定距離まで走行する案内経路の道路形状が左カーブでないと判定した場合には(S415:NO)、CPU41は、S417の処理に移行する。S417において、CPU41は、追従目標車両を検出する検出対象方向を自車両1の右前方に設定した後、S418の処理に移行する。
図14に示すように、S418において、CPU41は、上記S411でRAM42から読み出した各追従位置IDのうち、1番目の追従位置IDに対応する候補車両を追従対象車両とし、この追従位置IDに関連づけられた追従対象車両の追従位置をRAM42から読み出す。そして、CPU41は、この追従対象車両の追従位置から検出対象方向に当該追従対象車両が存在するか否かを判定する判定処理を実行する。
例えば、図17に示すように、CPU41は、1番目の追従位置IDに対応する候補車両101を追従対象車両101とする。そして、CPU41は、この追従位置IDに関連づけられた追従対象車両101の右斜め後方の追従位置102をRAM42から読み出す。また、CPU41は、ナビ地図情報26に基づいて、自車位置から進行方向前方の道路形状103が左カーブであると判定した場合には、追従対象車両101を検出する検出方向を自車両1の左前方に設定する。従って、CPU41は、追従位置102の左前方に追従対象車両101が存在するか否かを判定する判定処理を実行する。
そして、図14に示すように、追従対象車両の追従位置から検出対象方向に当該追従対象車両が存在しないと判定した場合には(S418:NO)、CPU41は、S419の処理に移行する。S419において、CPU41は、視界良好フラグをRAM42から読み出してONに設定して、再度RAM42に記憶した後、後述のS424の処理に移行する。尚、ナビゲーション装置2の起動時に、視界良好フラグはOFFに設定されてRAM42に記憶される。
一方、追従対象車両の追従位置から検出対象方向に当該追従対象車両が存在すると判定した場合には(S418:YES)、CPU41は、S420の処理に移行する。S420において、CPU41は、車両制御ECU3に対して、追従対象車両の車幅と車高とを測定するように要求する。これにより、車両制御ECU3のCPU71は、自車両1の検出対象方向に位置する追従対象車両の車幅と車高とを前方撮影用カメラ76Aによって撮影した画像データを画像処理して測定し、ナビゲーション装置2へ出力する。
例えば、図17に示すように、追従位置102の左前方に追従対象車両101が存在する場合には、CPU41は、車両制御ECU3に対して、追従対象車両101の車幅と車高とを測定するように要求する。これにより、車両制御ECU3のCPU71は、自車両1の左前方に位置する追従対象車両101の車幅と車高とを前方撮影用カメラ76Aによって撮影した画像データを画像処理して測定し、ナビゲーション装置2へ出力する。
続いて、S421において、CPU41は、車両制御ECU3から入力された追従対象車両の車高が、車高閾値以上か否か、例えば、自車両1の車高の1.2倍以上か否かを判定する判定処理を実行する。尚、自車両1の車高は、予めROM43に記憶されている。そして、車両制御ECU3から入力された追従対象車両の車高が、車高閾値未満であると判定した場合には(S421:NO)、CPU41は、上記S419の処理に移行する。
一方、車両制御ECU3から入力された追従対象車両の車高が、車高閾値以上であると判定した場合には(S421:YES)、CPU41は、S422の処理に移行する。S422において、CPU41は、車両制御ECU3から入力された追従対象車両の車幅が、車幅閾値以上か否か、例えば、自車両1の車幅の1.2倍以上か否かを判定する判定処理を実行する。尚、自車両1の車幅は、予めROM43に記憶されている。そして、車両制御ECU3から入力された追従対象車両の車幅が、車幅閾値未満であると判定した場合には(S422:NO)、CPU41は、上記S419の処理に移行する。
一方、車両制御ECU3から入力された追従対象車両の車幅が、車幅閾値以上であると判定した場合には(S422:YES)、CPU41は、S423の処理に移行する。S423において、CPU41は、視界良好フラグをRAM42から読み出してOFFに設定して、再度RAM42に記憶した後、S424の処理に移行する。S424において、CPU41は、視界良好フラグをRAM42から再度読み出し、当該追従位置IDにこの視界良好フラグを関連づけてRAM42に記憶する。
その後、CPU41は、S411でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在するか否かを判定する判定処理を実行する。そして、S411でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在すると判定した場合には、CPU41は、次の追従位置IDに対応する候補車両を追従対象車両として、再度S418以降の処理を実行する。一方、S411でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在しないと判定した場合には、CPU41は、当該「視界良好判定処理」のサブ処理を終了して、「追従条件達成状況判定処理」のサブ処理に戻り、S313の処理に移行する。
他方、図11に示すように、上記S311で視線優先フラグがOFFに設定されていると判定した場合、つまり、強風優先フラグがONに設定されていると判定した場合には(S311:NO)、CPU41は、S314の処理に移行する。S314において、追従位置が風の影響が少ない追従位置であるか否かを判定する「風向き影響判定処理」のサブ処理(図15参照)を実行した後、S315の処理に移行する。S315において、CPU41は、ONに設定された強風防止フラグに関連づけられた追従位置ID、つまり、追従位置が風の影響が少ない追従位置であると判定された追従位置IDをRAM42から読み出し、後述のS316の処理に移行する。
[風向き影響判定処理]
ここで、「風向き影響判定処理」のサブ処理について図15、図16、図18及び図19に基づいて説明する。図15に示すように、先ず、S511において、CPU41は、各候補車両の追従位置IDをRAM42から読み出す。そして、S512において、CPU41は、RAM42から回数カウンタのカウント値を読み出し、「0」にセットして再度RAM42に記憶する。つまり、CPU41は、回数カウンタを初期化する。
続いて、S513において、CPU41は、RAM42から回数カウンタのカウント値Dを読み出し、カウント値Dが所定回数M1以下であるか否か、例えば、「10回以下」であるか否かを判定する判定処理を実行する。そして、回数カウンタのカウント値Dが所定回数M1以下であると判定した場合には(S513:YES)、CPU41は、S514の処理に移行する。
S514において、CPU41は、ナビ地図情報26に基づいて、自車位置から(100×(カウント値D))メートル先の案内経路上の道路の進行角度を取得して、カウント値Dに対応付けてRAM42に記憶する。尚、100メートル間隔毎に限らず、50メートル間隔毎、150メートル間隔毎等、任意の距離の間隔毎に道路の進行角度を取得するようにしてもよい。
そして、S515において、CPU41は、回数カウンタのカウント値をRAM42から読み出し、「1」加算して再度、RAM42に記憶する。その後、CPU41は、再度S513以降の処理を実行する。一方、回数カウンタのカウント値Dが所定回数M1より大きいと判定した場合には(S513:NO)、CPU41は、S516の処理に移行する。
S516において、CPU41は、カウント値「1」から「M1」まで対応付けてRAM42に記憶された道路の進行角度を順次読み出し、このM1個の進行角度のうち、最も多く表れる進行角度、つまり、進行角度の最頻値を風向き角度と比較する「比較対象角度」としてRAM42に記憶する。
例えば、図18に示すように、自車両1の自車位置から100メートル間隔で所定回数M1=10回までの道路の進行角度は、1回目から9回目まで「北向き」であり、10回目が「北西」であるため、最も多い「北向き」を風向き角度と比較する「比較対象角度」としてRAM42に記憶する。尚、道路の進行角度は、真北を基準に、東が90度、南が180度といったように時計回りに表す360方位で表してもよいし、南、南南西、南西等の16方位で表してもよい。従って、CPU41は、「北向き」の「0度」を「比較対象角度」としてRAM42に記憶する。
続いて、S517において、CPU41は、風向きセンサ52を介して現在の風向き角度を取得してRAM42に記憶する。尚、CPU41は、通信装置17を介して、不図示のプローブセンタ、道路交通情報センタ等から所定時間間隔(例えば、5分間隔である。)で配信された最新の天気、気温、降水量、風向風速等の気象情報をRAM42に記憶し、当該風向を現在の風向き角度としてRAM42に記憶してもよい。
例えば、図18に示すように、「西風」の場合には、「西」の「270度」を風向き角度としてRAM42に記憶する。尚、風向き角度は、真北を基準に、東が90度、南が180度といったように時計回りに表す360方位で表してもよいし、南、南南西、南西等の16方位で表してもよい。
そして、S518において、CPU41は、RAM42から道路の進行角度である「比較対象角度」と現在の風向き角度とを読み出し、比較対象角度と現在の風向き角度とのなす角θを比較対象角度を基準として、時計回りに表す360方位で算出して、RAM42に記憶する。例えば、図19に示すように、CPU41は、比較対象角度の「北向き」の「0度」を基準の角度「0°」とする。そして、CPU41は、基準の角度「0°」から風向き角度の「西」の「270度」までの時計回りの角度「270°」を比較対象角度と現在の風向き角度とのなす角θとして、RAM42に記憶する。
続いて、図16に示すように、S519において、CPU41は、比較対象角度と現在の風向き角度とのなす角θをRAM42にから読み出して、角θが0°以上45°未満、又は、315°以上360°未満であるか否かを判定する判定処理を実行する。つまり、図19に示すように、CPU41は、現在の風向きが「追い風」であるか否かを判定する判定処理を実行する。
そして、比較対象角度と現在の風向き角度とのなす角θが、0°以上45°未満、又は、315°以上360°未満であると判定した場合、つまり、現在の風向きが「追い風」であると判定した場合には(S519:YES)、CPU41は、S520の処理に移行する。S520において、CPU41は、RAM42から強風防止フラグを読み出し、ONに設定して再度、RAM42に記憶する。尚、ナビゲーション装置2の起動時に、強風防止フラグはOFFに設定されてRAM42に記憶される。
続いて、S521において、CPU41は、ONに設定された強風防止フラグをRAM42から再度読み出し、上記S511でRAM42から読み出した各追従位置IDのうち、1番目の追従位置IDにこの強風防止フラグを関連づけてRAM42に記憶する。
その後、CPU41は、S511でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在するか否かを判定する判定処理を実行する。そして、上記S511でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在すると判定した場合には、CPU41は、当該次の追従位置IDについて、再度、S520以降の処理を実行する。従って、CPU41は、上記S511でRAM42から読み出した全ての追従位置IDとONに設定された強風防止フラグを関連づけてRAM42に記憶した後、当該「風向き影響判定処理」のサブ処理を終了して、「追従条件達成状況判定処理」のサブ処理に戻り、S315の処理に移行する。
一方、上記S519で比較対象角度と現在の風向き角度とのなす角θが、45°以上315°未満であると判定した場合、つまり、現在の風向きが「追い風」でないと判定した場合には(S519:NO)、CPU41は、S522の処理に移行する。S522において、CPU41は、上記S511でRAM42から読み出した各追従位置IDのうち、1番目の追従位置IDに対応する追従対象車両及び当該追従対象車両の追従位置をRAM42から読み出す。また、CPU41は、上記S517でRAM42に記憶した現在の風向き角度を読み出す。そして、CPU41は、自車両1が当該追従対象車両の追従位置に位置した際に、風向き角度と逆の方角に当該追従対象車両が存在するか否かを判定する判定処理を実行する。
そして、自車両1が当該追従対象車両の追従位置に位置した際に、風向き角度と逆の方角に当該追従対象車両が存在すると判定した場合には(S522:YES)、CPU41は、S523の処理に移行する。S523において、CPU41は、RAM42から強風防止フラグを読み出し、ONに設定して再度、RAM42に記憶した後、後述のS525の処理に移行する。
一方、自車両1が当該追従対象車両の追従位置に位置した際に、風向き角度と逆の方角に当該追従対象車両が存在しないと判定した場合には(S522:NO)、CPU41は、S524の処理に移行する。S524において、CPU41は、CPU41は、RAM42から強風防止フラグを読み出し、OFFに設定して再度、RAM42に記憶した後、後述のS525の処理に移行する。
例えば、図18に示すように、上記S511でRAM42から読み出した追従位置IDに対応する追従位置が、追従対象車両107の右側の追従位置108で、現在の風向きが「西向き」の場合には、CPU41は、自車両1が当該追従位置108に位置した際に、風向き角度と逆の方角、つまり、「西側」に当該追従対象車両107が存在すると判定する。そして、CPU41は、RAM42から強風防止フラグを読み出し、ONに設定して再度、RAM42に記憶する。
一方、図18に示すように、上記S511でRAM42から読み出した追従位置IDに対応する追従位置が、追従対象車両107の後方の追従位置109、又は、右斜め後方の追従位置111で、現在の風向きが「西向き」の場合には、CPU41は、自車両1が当該追従位置109、又は、追従位置111に位置した際に、風向き角度と逆の方角、つまり、「西側」に当該追従対象車両107が存在しないと判定する。そして、CPU41は、RAM42から強風防止フラグを読み出し、OFFに設定して再度、RAM42に記憶する。
続いて、図16に示すように、S525において、CPU41は、強風防止フラグをRAM42から再度読み出し、上記S511でRAM42から読み出した各追従位置IDのうち、1番目の追従位置IDにこの強風防止フラグを関連づけてRAM42に記憶する。
その後、CPU41は、S511でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在するか否かを判定する判定処理を実行する。そして、上記S511でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在すると判定した場合には、CPU41は、当該次の追従位置IDについて、再度、S522以降の処理を実行する。
一方、S511でRAM42から読み出した追従位置IDに、当該追従位置IDの次の追従位置IDが存在しないと判定した場合、つまり、上記S511でRAM42から読み出した全ての追従位置IDについて、S522以降の処理を実行したと判定した場合には、CPU41は、当該「風向き影響判定処理」のサブ処理を終了して、「追従条件達成状況判定処理」のサブ処理に戻り、S315の処理に移行する。
続いて、図11に示すように、S316において、CPU41は、自車両1の追従目標車両を追従する追従位置が設定されている旨を表す追従位置フラグをRAM42から読み出し、この追従位置フラグがOFFに設定されている否かを判定する判定処理を実行する。そして、追従位置フラグがONに設定されていると判定した場合、つまり、追従目標車両を追従する追従位置が設定されて、追従目標車両を追従していると判定した場合には(S316:NO)、CPU41は、S317の処理に移行する。
S317において、CPU41は、上記S313又は上記S315でRAM42から読み出した各追従位置IDに対応する追従対象車両の各追従位置のうちに、現在の追従目標車両の追従位置が含まれていないか否かを判定する判定処理を実行する。つまり、CPU41は、上記S16で選択された追従条件を維持して追従していないか否かを判定する判定処理を実行する。
そして、上記S313又は上記S315でRAM42から読み出した各追従位置IDに対応する追従対象車両の各追従位置のうちに、現在の追従目標車両の追従位置が含まれていると判定した場合には(S317:NO)、CPU41は、上記S16で選択された追従条件を維持して追従していると判定して、当該「追従条件達成状況判定処理」のサブ処理を終了して、メインフローチャートに戻る。
一方、上記S316で追従位置フラグがOFFに設定されていると判定した場合、つまり、追従目標車両を追従する追従位置が設定されておらず、追従目標車両を追従していないと判定した場合には(S316:YES)、CPU41は、S318の処理に移行する。また、一方、上記S317で上記S313又は上記S315でRAM42から読み出した各追従位置IDに対応する追従対象車両の各追従位置のうちに、現在の追従目標車両の追従位置が含まれていないと判定した場合には(S317:YES)、CPU41は、上記S16で選択された追従条件を維持して追従していないと判定して、S318の処理に移行する。
S318において、CPU41は、上記S313又は上記S315でRAM42から読み出した各追従位置IDに対応する追従対象車両の各追従位置と自車位置との相対位置関係をナビ地図情報26に基づいて取得して、RAM42に記憶する。
そして、S319において、CPU41は、上記S318でRAM42に記憶した追従対象車両の各追従位置と自車位置との相対位置関係から自車位置に最も近い追従位置を選択する。また、この選択した追従位置で追従する追従対象車両の車両IDをRAM42から読み出し、追従目標車両の車両IDとしてRAM42に記憶する。続いて、CPU41は、この選択した追従位置が自車両1が走行する走行レーンに存在するか否かを判定する判定処理を実行する。
そして、この選択した追従位置が自車両1が走行する走行レーンに存在しないと判定した場合には(S319:NO)、CPU41は、車両制御ECU3に対して、当該追従位置が存在する走行レーンに車線変更するように要求した後、後述のS321の処理に移行する。これにより、車両制御ECU3のCPU71は、不図示のエンジン装置、ブレーキ装置、電動パワーステアリング等を駆動制御して、自動運転で当該追従位置が存在する走行レーンに車線変更する。
一方、この選択した追従位置が自車両1が走行する走行レーンに存在すると判定した場合には(S319:YES)、CPU41は、S321の処理に移行する。S321において、CPU41は、自車位置を現在地検出処理部11の検出結果に基づいて取得する。そして、CPU41は、自車前方にこの選択した追従位置が存在するか否かを判定する判定処理を実行する。そして、自車前方にこの選択した追従位置が存在しない、つまり、自車位置がこの選択した追従位置に位置していると判定した場合には(S321:NO)、CPU41は、車両制御ECU3に対して当該追従位置で追従目標車両を追従するように要求した後、後述のS323の処理に移行する。これにより、車両制御ECU3のCPU71は、不図示のエンジン装置、ブレーキ装置、電動パワーステアリング等を駆動制御して、自動運転で当該追従位置で追従目標車両を追従する。
一方、自車前方にこの選択した追従位置が存在すると判定した場合には(S321:YES)、CPU41は、S322の処理に移行する。S322において、CPU41は、車両制御ECU3に対して前進(加速)して自車前方に位置する追従位置に位置して追従目標車両を追従するように要求する。これにより、車両制御ECU3のCPU71は、不図示のエンジン装置、ブレーキ装置、電動パワーステアリング等を駆動制御して、自動運転で当該追従位置まで前進(加速)して、当該追従位置で追従目標車両を追従する。
続いて、S323において、CPU41は、自車両1の追従目標車両を追従する追従位置が設定されている旨を表す追従位置フラグをRAM42から読み出し、この追従位置フラグをONに設定して、再度RAM42に記憶する。その後、CPU41は、当該「追従条件達成状況判定処理」のサブ処理を終了して、メインフローチャートに戻る。
以上詳細に説明した通り、本実施例に係る自車両1では、ナビゲーション装置2のCPU41は、「視界良好条件」を優先する旨を入力する視界良好優先ボタンと、「風向き条件」を優先する旨を入力する風向き優先ボタンとを液晶ディスプレイ15に表示する。また、CPU41は、自車前方Xmの道路上に存在する追従走行可能な候補車両と自車両1とを上方から見た俯瞰図を作成して、液晶ディスプレイ15に表示する。
そして、ドライバは、液晶ディスプレイ15に表示された視界良好優先ボタンを押下することによって、CPU41に対して、ドライバの視界が良好に保つことができる位置で追従することができる追従目標車両を設定し、当該追従目標車両をドライバの視界が良好に保つことができる位置で追従するように指示することができる。これにより、ドライバは、視界良好優先ボタンを押下することによって、視界が良好に保つことができる「視界良好条件」に合致した追従目標車両を追従走行するように迅速に設定することが可能となる。
また、ドライバは、液晶ディスプレイ15に表示された風向き優先ボタンを押下することによって、CPU41に対して、風の影響が少ない位置で追従することができる追従目標車両を設定し、当該追従目標車両を風の影響が少ない位置で追従するように指示することができる。これにより、ドライバは、風向き優先ボタンを押下することによって、風の影響が少ない位置で追従することができる「風向き条件」に合致した追従目標車両を追従走行するように迅速に設定することが可能となる。
また、CPU41は、上記S317で、選択された追従条件を維持して追従目標車両を追従していないと判定された場合には、ドライバが選択した「視界良好条件」又は「風向き条件」を満たすように追従目標車両と自車両との新たな相対的な位置関係を再設定する(S318〜S322)。これにより、CPU41は、視界良好優先ボタン又は風向き優先ボタンを介して選択された追従条件を維持して追従目標車両を追従できるように、現在の追従位置を判定して自動的に追従位置を調整することが可能となる。
尚、本発明は前記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
また、本発明に係る車両運転支援装置を具体化した実施例について上記に説明したが、車両運転支援装置は以下の構成を有することも可能であり、その場合には以下の効果を奏する。
例えば、第1の構成は以下の通りである。
前記追従目標車両の追従走行中に、前記選択受付手段を介して選択された追従条件を満たしているか否かを判定する追従条件達成状況判定手段を備え、前記追従目標車両設定手段は、前記追従条件達成状況判定手段を介して前記選択受付手段を介して選択された追従条件を満たしていると判定された場合には、前記追従目標車両と前記自車両との相対的な位置関係を維持するように設定し、前記追従条件達成状況判定手段を介して前記選択受付手段を介して選択された追従条件を満たしていないと判定された場合には、前記選択受付手段を介して選択された追従条件を満たす前記追従目標車両と前記自車両との新たな相対的な位置関係を再設定することを特徴とする。
上記構成を有する車両運転支援装置によれば、追従条件を満たしていると判定された場合には、追従目標車両と自車両との相対的な位置関係が維持される。一方、追従条件を満たしていないと判定された場合には、追従条件を満たすように追従目標車両と自車両との新たな相対的な位置関係を再設定する。これにより、選択受付手段を介して選択された追従条件を維持できるように、追従位置を判定して自動的に追従位置を調整することが可能となる。
また、第2の構成は以下の通りである。
前記追従目標車両設定手段は、前記追従目標車両の前記追従条件に該当する追従位置を取得する追従位置取得手段を有し、該追従目標車両設定手段は、自車位置と前記追従目標車両の前記追従条件に該当する追従位置との相対位置関係に基づいて、自車両の走行している車線に対する車線変更と自車両の加速とを行って、自車両が前記追従目標車両を追従走行するように設定することを特徴とする。
上記構成を有する車両運転支援装置によれば、自車位置と追従目標車両の追従条件に該当する追従位置との相対位置関係に基づいて、自車両の走行している車線に対する車線変更と自車両の加速とを行って、自車両が追従目標車両を追従走行するように設定する。これにより、自車両の走行している車線に対する車線変更と自車両の加速とによって追従条件に該当する追従位置で追従走行するように迅速に設定することが可能となる。
また、第3の構成は以下の通りである。
前記追従条件は、前記追従目標車両を追従走行する際における前記ドライバの前方視界が良好となる視界良好条件を含み、前記追従目標車両設定手段は、自車進行方向の道路形状を取得する道路形状取得手段と、前記自車進行方向の道路形状に基づいて前記候補車両から追従対象車両を選択する第1対象車両選択手段と、前記第1対象車両選択手段を介して選択された前記追従対象車両の少なくとも車幅と車高とを取得する車両情報取得手段と、を有し、前記選択受付手段を介して前記視界良好条件の選択を受け付けた場合には、前記追従目標車両設定手段は、前記第1対象車両選択手段を介して選択された前記追従対象車両のうち、前記車幅が車幅閾値未満の追従対象車両又は前記車高が車高閾値未満の追従対象車両を前記追従目標車両に設定することを特徴とする。
上記構成を有する車両運転支援装置によれば、追従条件が視界良好条件の場合には、自車進行方向の道路形状に基づいて選択した追従対象車両のうち、車幅が車幅閾値未満の追従対象車両又は車高が車高閾値未満の追従対象車両が追従目標車両に設定される。これにより、ドライバの前方視界が良好となる視界良好条件に合致した追従目標車両を迅速に設定することが可能となる。
また、第4の構成は以下の通りである。
前記追従条件は、前記追従目標車両を追従走行する際に風の影響が少ない追従位置となる風向き条件を含み、前記追従目標車両設定手段は、前方所定距離内の自車走行経路について、地図情報に基づいて一定距離間隔で道路の進行角度を取得する進行角度取得手段と、前記進行角度取得手段を介して取得した進行角度のうち、最も多い進行角度を比較対象角度に設定する比較対象角度設定手段と、風向き角度を取得する風向き角度取得手段と、前記比較対象角度と前記風向き角度とに基づいて該風向き角度が自車両の追い風になるか否かを判定する追い風判定手段と、前記追い風判定手段を介して前記風向き角度が自車両の追い風になると判定された場合には、前記風向き角度の方角に位置する前記候補車両を追従対象車両として選択し、前記追い風判定手段を介して前記風向き角度が自車両の追い風にならないと判定された場合には、前記風向き角度に対して逆の方角に位置する前記候補車両を追従対象車両として選択する第2対象車両選択手段と、を有し、前記選択受付手段を介して前記風向き条件を受け付けた場合には、前記追従目標車両設定手段は、前記第2対象車両選択手段を介して選択された前記追従対象車両を前記追従目標車両に設定することを特徴とする。
上記構成を有する車両運転支援装置によれば、追従条件が風向き条件の場合では、追い風判定手段を介して風向き角度が自車両の追い風になると判定されたときは、風向き角度の方角に位置する候補車両が追従目標車両に設定される。一方、追い風判定手段を介して風向き角度が自車両の追い風にならないと判定されたときは、風向き角度に対して逆の方角に位置する候補車両が追従目標車両に設定される。これにより、追従目標車両を追従走行する際に、風の影響が少ない追従位置を選択して、追従走行するように設定することが可能となる。