以下、本発明の実施の形態に係る案内経路探索装置および案内経路探索方法を、図面に基づいて説明する。案内経路探索装置は、カーナビゲーションシステムの一部として説明する。案内経路探索方法は、カーナビゲーションシステムの動作の一部として説明する。
実施の形態1.
図1は、本発明の実施の形態1に係るカーナビゲーションシステムを示す構成図である。カーナビゲーションシステムは、現在地から、目的地あるいは経由地への車両の案内経路を探索し、その案内経路で車両が移動するように経路を案内するものである。
カーナビゲーションシステムは、メインコンピュータ1を有する。メインコンピュータ1は、プログラムを実行するCPU2(中央処理装置)と、CPU2が実行しているプログラムやデータを記憶するRAM3(ランダムアクセスメモリ)と、周辺機器が接続される入出力ポート4と、これらを接続するシステムバス5と、を有する。
入出力ポート4には、液晶デバイス11と、タッチパネル12と、GPS(Global Positioning System)受信機13と、VICS(Vehicle Information and Communication System)受信機14と、コスト情報記憶手段、優先係数記憶手段および劣後係数記憶手段としての記憶デバイス15と、が接続される。
液晶デバイス11は、液晶ディスプレイパネルなどといった表示部を有する。液晶デバイス11は、表示データに基づき、表示部に画像を表示する。
タッチパネル12は、透明なスクリーンを有する。透明なスクリーンは、液晶デバイス11の表示部に重ねて配設される。タッチパネル12は、透明なスクリーン内の指が触れた位置を検知し、検出した位置の位置情報を出力する。
GPS受信機13は、GPS衛星からのGPS電波を受信する。GPS電波は、GPS衛星の位置情報と時間情報とを有する。GPS受信機13は、たとえば3つ以上のGPS衛星からのGPS電波を受信すると、それら複数のGPS衛星に対するGPS受信機13の相対位置を演算し、その相対位置に基づいてGPS受信機13の地球上の位置情報を生成する。地球上の位置情報は、たとえば世界測地系での緯度経度の値として表現される。GPS受信機13は、生成したGPS受信機13の位置情報を出力する。
VICS受信機14は、電波ビーコン、光ビーコンあるいはFM多重放送により送信される交通情報を受信する。交通情報には、道路の混雑度を示す渋滞情報や、道路の通行止め時間帯などを示す交通規制情報が含まれる。VICS受信機14は、受信した交通情報を出力する。
記憶デバイス15は、たとえばハードディスクドライブなどにより構成される。図2は、図1中の記憶デバイス15が記憶する内容を示す説明図である。記憶デバイス15は、ナビゲーションプログラムと、ナビゲーションデータとを記憶する。ナビゲーションプログラムは、案内経路生成プログラム21と、経路案内プログラム22と、を有する。ナビゲーションデータは、地点データ群24と、リンクデータ群25と、ノードデータ群2626と、コスト計算条件リスト27と、地図データ28と、を有する。
なお、記憶デバイス15に記憶されるナビゲーションプログラムとナビゲーションデータとは、たとえばDVD(デジタル・バーサタイル・ディスク)−ROM(リード・オンリィ・メモリ)などのコンピュータ読み取り可能な記録媒体や伝送媒体を介して、記憶デバイス15に保存されるようにしてもよい。また、ナビゲーションプログラムとナビゲーションデータとは、コンピュータ読み取り可能な記録媒体に記憶されていてもよい。この場合、記憶デバイス15は、この記録媒体のデータを読み取るドライブなどにより構成される。
地点データ群24は、複数のレコードを有する。地点データ群24の各レコードは、1つの地点のデータを有する。各レコードは、その地点にある建物、店舗、施設などの名称、その地点の位置情報などを有する。地点データ群24の複数の地点は、目的地35、経由地あるいは出発地などとして選択可能な地点である。
リンクデータ群25およびノードデータ群26は、カーナビゲーションシステムが、車両の経路探索や経路案内において使用するデータである。車両は、道路を移動する。道路には、交差点などの道路の分岐点がある。ナビゲーションシステムでは、この道路の分岐点などをノードとして取り扱う。2つの分岐点の間の道路などをリンクとして取り扱う。リンクの両端は、ノードに接続される。ノードには、1つ以上のリンクが接続される。
図3は、ある地域の道路と、リンクおよびノードとの関係を説明する図である。図3(A)は、ある地域の道路を示す図である。図3(B)は、その地域に対応付けられるノードおよびリンクを示す図である。図3(B)において、各ノードは、四角形で示され、リンクは、矢印で示される。
図3(A)に示す地域には、第一の国道31と、第一の地方道32とが、図の横方向に沿って並行に通っている。また、第二の国道33と、第二の地方道34とが、図の縦に通っている。第二の国道33は、第一の国道31と、第一の地方道32と交差する。第二の地方道34は、第一の地方道32と交差し、第一の国道31につきあたる。
このような地域の道路は、図3(B)に示すように、複数のリンクおよび複数のノードとしてデータ化される。ノードは、第二の国道33と第一の国道31との交差点36、第二の国道33と第一の地方道32との交差点37、第二の地方道34と第一の国道31との交差点(第二の地方道34のつきあたり)38、および、第二の地方道34と第一の地方道32との交差点39に対応付けて設けられる。この地域のノードは、合計4つになる。
また、このような地域の道路と対応づけて、リンクは、交差点と交差点との間の区間毎に設けられる。具体的には、図の横方向に沿う第一の国道31は、2つのノードを有する。したがって、この片側二車線(計4車線)の道路は、6本のリンクで構成される。同様に、第一の地方道32は、6本のリンクで構成される。第二の国道33は、6本のリンクで構成される。第二の地方道34は、4本のリンクで構成される。この地域のリンクは、合計22本となる。
リンクデータ群25は、複数のレコードを有する。リンクデータ群25の各レコードは、1つのリンクのデータを有する。各レコードは、そのリンクに関する交通規制情報や、そのリンクの距離、そのリンクを通過するコスト情報、そのリンクに固有の識別番号、そのリンクが接続されるノードの識別番号などを有する。リンクに関する交通規制情報には、たとえば、一方通行路、時間帯通行禁止、右折禁止、Uターン禁止、道幅(幅員)などの情報がある。なお、各レコードには、1つのリンクではなく、1つの道路のすべてのリンクが対応付けられていてもよい。
ノードデータ群26は、複数のレコードを有する。ノードデータ群26の各レコードは、1つのノードのデータを有する。各レコードは、そのノードの位置情報、そのノードに関する交通規制情報、そのノードを通過するコスト情報、そのノードに固有の識別番号、そのノードに接続されるリンクの識別番号などを有する。ノードに関する交通規制情報としては、たとえば、信号機の有無、右折禁止、Uターン禁止などの情報がある。
ノードを通過するコスト情報およびリンクを通過するコスト情報は、それらの通過し易さあるいは通過し難さに応じた値を有する。これらのコスト情報は、通過し難いほど大きな値を有する。
なお、実際に演算に使用するコスト情報そのものは、記憶デバイス15においてたとえば道路種別などと対応付けて記憶され、これらノードデータ群26およびリンクデータ群25の各レコードは、この種別の指定情報を有するデータ構造になっていてもよい。また、コスト情報の値は、通過し易さのみに応じた値ではなく、たとえば、道路の有料無料に応じた値、道路の走りやすさに応じた値、道路の景観の良否に応じた値、道路の交通量に応じた値、あるいはそれらを組み合わせた値などになっていてもよい。
図2に戻り、記憶デバイス15に記憶されるコスト計算条件リスト27は、経路のコストを計算するときの計算条件を有する。具体的にはたとえば、コスト計算条件リスト27は、渋滞係数、道なり優先係数などの各種の係数を記憶する。
渋滞係数は、渋滞しているリンクおよびノードのコスト情報に乗算される係数である。道なり優先係数は、1より大きい値を有する。これにより、渋滞しているリンクおよびノードの通過コストを上げることができる。
道なり優先とは、たとえば車両の進行方向や走行車線が予め判っている場合、その進行方向の道路あるいは車線が、その他の道路に比べて、案内経路として相対的に選択され易くすることである。道なり優先係数は、その道なりのリンクのコスト情報に乗算される係数である。道なり優先係数は、1より小さい値を有する。これにより、車両の進行方向の道路の通過コストを下げることができる。
地図データ28は、液晶ディスプレイに地図を表示するために使用するデータである。このような地図データ28としては、たとえば、二次元あるいは三次元のベクトル地図データ28がある。ベクトル地図データ28は、地図の背景画像となる背景データと、その背景画像の上に描画されるベクトルデータと、を有する。背景画像は、たとえば公園、河川、池などを色分けした画像データである。ベクトルデータは、たとえば道路毎の描画データである。なお、地図データ28は、この他にも、ランドマーク用の三次元のポリゴンデータや、各地点に対応付けられたアイコンデータなどを備えていてもよい。
案内経路生成プログラム21は、CPU2に実行されることで、メインコンピュータ1に、案内経路を生成するための各種の機能を実現する。図4は、図1中のCPU2が案内経路生成プログラム21を実行することで、カーナビゲーションシステムに実現される機能を示すブロック図である。図1中のCPU2が案内経路生成プログラム21を実行することで、判断手段としてのコスト計算条件設定部41と、候補経路生成部42と、コスト計算手段としてのコスト計算部43と、選択手段としての案内経路選択部44と、が実現される。
コスト計算条件設定部41は、コスト計算条件リスト27に基づいて、探索時の車両の状況などに応じたコスト計算条件46を生成し、記憶デバイス15に記憶させる。コスト計算条件46は、たとえば、道なり優先にて探索する状況下では、道なり優先係数を有する。
候補経路生成部42は、リンクデータ群25およびノードデータ群26を使用して、探索の起点から終点までの経路を探索し、記憶デバイス15に記憶させる。探索した経路は、探索の起点と終点とを1または複数のリンクおよびノードで繋いだものとなる。候補経路生成部42は、その探索した経路のデータを、候補経路として記憶デバイス15に記憶させる。複数の候補経路により、記憶デバイス15には、候補経路リスト47が記憶される。なお、車両の現在地あるいは出発地などが、経路探索の起点として利用される。目的地35あるいは経由地などが、経路探索の終点として利用される。
コスト計算部43は、候補経路生成部42により探索された候補経路のコストを計算する。
案内経路選択部44は、コストが最も低い候補経路を案内経路48として選択し、記憶デバイス15に記憶させる。
経路案内プログラム22は、CPU2に実行されることで、メインコンピュータ1に、経路を案内するための各種の機能を実現する。図5は、図1中のCPU2が経路案内プログラム22を実行することで、カーナビゲーションシステムに実現される機能を示すブロック図である。図1中のCPU2が経路案内プログラム22を実行することで、経路案内手段としての経路案内部56が実現される。
経路案内部56は、記憶デバイス15に記憶されている案内経路48および地図データ28を読み込み、これらを用いて、液晶デバイス11に案内経路48および現在地の周辺地図などを表示させる。なお、経路案内部56は、必要に応じて図示外のスピーカから音声案内を出力させるようにしてもよい。
次に、以上の構成を有する実施の形態1に係るカーナビゲーションシステムの動作を説明する。まず、図4を参照しながら、案内経路48の探索処理について説明する。
また、以下の説明では、案内経路48の生成処理の具体例として、図3(A)において自車位置マーク40にて示すように、車両は、第二の国道33と第二の地方道34との間において、第一の国道31を走行しているものとする。この自車位置マーク40がある場所が現在地となる。
また、目的地35が、この第一の国道31において、車両の走行方向後方で且つ2km以内の距離に設定された場合を例として説明する。目的地35は、たとえば地点データを液晶デバイス11に表示し、その表示においてタッチパネル12が出力する操作位置情報に基づいて選択した地点を、目的地35として設定すればよい。
自車位置マーク40(現在地)の位置情報49および目的地35の位置情報50は、記憶デバイス15に記憶される。
また、記憶デバイス15には、自車位置マーク40(現在地)の位置情報49および目的地35の位置情報50のほかにも、VICS受信機14が受信した交通情報に含まれる渋滞情報あるいは交通規制情報(渋滞・交通規制情報51)が記憶されているものとする。
なお、経路探索における自車の現在地の位置情報49としては、たとえばGPS受信機13が生成したGPS受信機13の位置情報が使用できる。自車の現在地としては、他にもたとえば、GPS受信機13の位置情報に基づいて特定されるリンク上の位置であってもよい。この場合、自車の現在地は、たとえば、GPS受信機13の位置情報からそのリンクへ垂線を下ろしたときのその垂線とリンクとが交差する地点が、自車の現在地となる。このように自車が存在しているリンクが特定されている場合、図3(B)に示すように、自車位置マーク40は、このマッチングしているリンク上の当該地点に表示されることになる。
図6は、図4に示すカーナビゲーションシステムの経路探索時の動作を示すフローチャートである。
タッチパネル12などから、目的地35の選択などに伴って探索開始指示があると、コスト計算条件設定部41は、コスト計算条件46の設定処理を開始する。コスト計算条件設定部41は、まず、探索の起点として、記憶デバイス15に記憶されている現在地を選択するとともに、探索の終点として記憶デバイス15に記憶されている目的地35あるいは経由地を選択する。
探索の起点および終点を選択すると、コスト計算条件設定部41は、経路探索条件の設定を開始する。コスト計算条件設定部41は、コスト計算条件リスト27に記憶されている渋滞係数などを、コスト計算条件46として記憶デバイス15に記憶させる。
コスト計算条件設定部41は、また、探索の起点から終点までの直線距離を演算する。コスト計算条件設定部41は、探索の起点から終点までの直線距離が2km以下か否かを判断する(ステップST1)。
探索の起点から終点までの直線距離が2kmより長い場合、コスト計算条件設定部41は、コスト計算条件リスト27から道なり優先係数を読み込み、読み込んだ道なり優先係数をコスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
探索の起点から終点までの直線距離が2km以下である場合、コスト計算条件設定部41は、自車の進行方向を基準として、探索の起点から目的地35を見た方向の角度(以下、目的地方角とよぶ。)を計算する。自車の進行方向としては、停車時の進行方向であっても、その時のGPS受信機13からの位置情報に基づいて特定される方向であっても、自車がマッチングしているリンクの方向であってもよい。そして、コスト計算条件設定部41は、目的地方角が90度から270度の範囲内か否かを判断する(ステップST3)。
目的地方角が90度より小さいか、もしくは、270度より大きい場合、コスト計算条件設定部41は、コスト計算条件リスト27から道なり優先係数を読み込み、読み込んだ道なり優先係数をコスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
以上のコスト計算条件46の設定処理により、記憶デバイス15には、道なり優先係数などの各種の係数がコスト計算条件46として記憶される。自車の現在位置から目的地35までの距離が2km以下であって、且つ、目的地方角が90度以上且つ270度以下である場合には、道なり優先係数は、コスト計算条件46として設定されない。探索の起点と終点との位置関係がこれ以外の位置関係の場合には、道なり優先係数は、コスト計算条件46として設定される。
たとえば、図3(A)では、半円のハッチングが施された部分が、自車の現在位置から2km以下の距離であって、且つ、目的地方角が90度以上且つ270度以下となる区域となる。図3(A)の目的地35は、この半円のハッチングが施された部分内にある。この場合、コスト計算条件設定部41は、道なり優先係数を、コスト計算条件46として設定しない。
コスト計算条件46の設定処理が終了すると、コスト計算条件設定部41は、候補経路生成部42に候補経路の生成を指示する。
なお、コスト計算条件設定部41は、コスト計算条件46の設定処理の開始前に、候補経路生成部42に候補経路の生成を指示するようにしてもよい。コスト計算条件設定部41は、たとえばVICS受信機14からの渋滞情報受信に伴う探索開始指示などがあった場合などには、コスト計算条件46の設定処理をすることなく、候補経路生成部42に候補経路の生成を指示するようにしてもよい。コスト計算条件設定部41は、GPS受信機13からの位置情報の変化が少ないことなどを検出し、コスト計算条件46の設定処理をすることなく、自発的に候補経路生成部42に候補経路の生成を指示するようにしてもよい。
候補経路生成部42は、リンクデータ群25およびノードデータ群26を使用して、候補経路を生成する(ステップST4)。具体的には、候補経路生成部42は、ノードの位置情報やリンクのノードに対する接続情報を用いてリンクをノードに繋ぎ、探索の起点から終点までのリンクの鎖を生成する。候補経路生成部42は、この探索の起点から終点までのリンクの鎖を、候補経路として生成する。
探索の起点(現在地)40と終点(目的地35)とが図3(A)に示すような位置関係にある場合、候補経路生成部42は、たとえば、自車がマップマッチングしているリンクL1を最初のリンクとして、図3(B)に示すように、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路を生成する。この候補経路は、自車の進行方向へ真直に進んでから、終点に向かう経路である。この候補経路は、その途中においてUターンすることはない。
また、候補経路生成部42は、たとえば、自車がマップマッチングしているリンクと同一道路上の反対車線のリンクL6を最初のリンクとして、図3(B)に示すように、「起点→L6→N4→L5→終点」という候補経路を生成する。この候補経路は、自車の現在地においてUターンしてから、終点に向かう経路である。
この候補経路の生成処理において、候補経路生成部42は、リンクデータ群25、ノードデータ群26、渋滞・交通規制情報51などの情報を参照し、走行可能な経路を探索する。たとえば、仮に図3(A)の第一の国道31においてUターン禁止や交差点以外での右折禁止などの交通規制情報がある場合、候補経路生成部42は、「起点→L6→N4→L5→終点」という候補経路は生成しない。他にもたとえば、仮に第二の地方道34において交差点38での右折禁止時間帯があり、その時間帯に該当するときには、候補経路生成部42は、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路を生成しない。
候補経路生成部42は、生成した候補経路を記憶デバイス15に記憶させる。これにより、記憶デバイス15には、候補経路リスト47が記憶される。
記憶デバイス15に候補経路が記憶されると、コスト計算部43は、各候補経路のコストを計算する(ステップST5)。
コスト計算部43は、まず、候補経路に含まれる各リンクおよび各ノードについて、1つ1つの個別の通過コストを計算する。
このとき、コスト計算条件46にたとえば道なり優先係数が設定されている場合、コスト計算部43は、その条件に該当するリンクあるいはノードのリンクデータ群25あるいはノードデータ群26におけるコスト情報に、その係数を乗算し、その演算結果を当該リンクあるいはノードの個別の通過コストとする。これにより、道なりに該当する道路の通過コストは低くなる。
また、渋滞・交通規制情報51において渋滞が発生している道路のリンクについては、コスト計算部43は、そのリンクについて渋滞係数を乗算する。渋滞係数は、1以上の係数である。これにより、渋滞している経路の通過コストは高くなる。
コスト計算条件46に係数が設定されていないリンクおよびノードについては、コスト計算部43は、そのリンクあるいはノードのリンクデータ群25あるいはノードデータ群26におけるコスト情報をそのまま、そのリンクあるいはノードの個別の通過コストとする。
候補経路に含まれるすべてのリンクおよびすべてのノードの個別の通過コストを計算したら、コスト計算部43は、そのすべての個別の通過コストを加算し、その演算結果をその候補経路のコストとする。なお、コスト計算部43は、リンクあるいはノード毎の個別の通過コストを乗算したり、所定の演算式にて計算したりすることで、候補経路のコストを計算するようにしてもよい。
具体的にはたとえば、先の「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路の場合、コスト計算部43は、リンクL1、ノードN1、リンクL2、ノードN2、リンクL3、ノードN3、リンクL4、ノードN4およびリンクL5のそれぞれの個別の通過コストを計算し、それらを加算した値を、候補経路のコストとして計算する。
また、図3(A)の場合、半円のハッチング内に目的地35がある。そのため、コスト計算条件46として、道なり優先係数が設定されていない。したがって、コスト計算部43は、リンクL1およびノードN1の個別の通過コストとして、リンクデータ群25およびノードデータ群26に記憶されるそれぞれのコスト情報をそのまま、そのリンクあるいはノードの個別の通過コストとして使用して、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストを計算する。
他にもたとえば、コスト計算部43は、リンクL6、ノードN4およびリンクL5のそれぞれの個別の通過コストを計算し、それを加算して「起点→L6→N4→L5→終点」という候補経路のコストとして計算する。
記憶デバイス15に記憶される各候補経路のコストが計算されると、案内経路選択部44は、その記憶デバイス15に記憶される複数の候補経路(候補経路リスト47)の中から、コストが最も低い候補経路を選択する(ステップST6)。
図3(A)の場合、半円のハッチング内に目的地35がある。そのため、コスト計算条件46として、道なり優先係数が設定されずに、各候補経路のコストが計算される。したがって、案内経路選択部44は、リンクデータ群25およびノードデータ群26のコスト情報に基づいて生成した「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストと、「起点→L6→N4→L5→終点」という候補経路のコストと、を比較する。
「起点→L6→N4→L5→終点」という候補経路のコストは、コスト計算条件46において道なり優先係数などが設定されていない限り、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストより低い。したがって、案内経路選択部44は、「起点→L6→N4→L5→終点」という候補経路を、案内経路48として選択する。
案内経路選択部44は、選択した1つの候補経路を、案内経路48として記憶デバイス15に記憶させる。
以上の案内経路48の探索処理により、記憶デバイス15には、探索の起点から終点までの案内経路48が記憶される。図3(A)の場合には、案内経路48として「起点→L6→N4→L5→終点」という経路が記憶デバイス15に記憶される。この「起点→L6→N4→L5→終点」という経路は、自車の現在地においてUターンしてから、終点に向かう経路である。
なお、仮に図3の目的地35が半円の外側に位置している場合、コスト計算条件46として道なり優先係数が設定されることで、「起点→L6→N4→L5→終点」という候補経路のコストが「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストより高くなる場合、記憶デバイス15には、案内経路48として「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という経路が記憶される。この経路は、自車の現在地から進行方向に直進してから、Uターンすることなく、終点に向かう経路である。
次に、図5を参照しながら、案内経路48を用いた経路案内について説明する。
経路案内部56は、GPS受信機13からの位置情報を読み込む。経路案内部56は、GPS受信機13からの位置情報を自車の位置情報として、自車の周辺の案内経路48および地図データ28を記憶デバイス15から読み込む。経路案内部56は、読み込んだ案内経路48および地図データ28から表示データを生成する。経路案内部56は、自車位置マーク40を含む表示データを生成する。経路案内部56は、生成した表示データを液晶デバイス11へ出力する。液晶デバイス11は、表示データに基づき、表示部に地図および案内経路48を表示する。
図7は、液晶デバイス11に表示される地図および案内経路の一例を示す表示画面である。表示画面には、自車位置マーク40と、案内する経路と、地図と、目的地35とが表示される。さらに、液晶デバイス11には、自車位置マーク40のある現在地からUターンして目的地35へ向かう案内経路61が表示される。
経路案内部56は、周期的に、GPS受信機13からの位置情報を読み込む。経路案内部56は、GPS受信機13からの位置情報により特定される自車の位置が、液晶デバイス11に表示させている自車位置マーク40の位置から移動したか否かを判断する。
自車の位置が移動したと判断したら、経路案内部56は、その新たな自車の位置を基準として、自車の周辺の案内経路48および地図データ28を記憶デバイス15から読み込み、表示データを生成する。液晶デバイス11は、経路案内部56により生成された表示データを表示する。
なお、仮に、先の「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という経路が案内経路である場合、図7の点線で示す経路62が案内経路として表示される。
また、経路案内部56は、GPS受信機13からの位置情報を読み込んだら、自車位置の移動を判断することなく、新たな表示データを生成するようにしてもよい。経路案内部56は、図示外のジャイロセンサからの移動量および移動方向に関する情報に基づいて、自車の現在地を判断するようにしてもよい。
このように、経路案内において、カーナビゲーションシステムは、GPS受信機13からの位置情報を自車の位置情報として用い、その自車の位置の周辺の地図および案内経路48を、液晶デバイス11に表示し続ける。したがって、車両の運転手が、液晶デバイス11に表示される案内経路48にそって自車位置マーク40が移動するように車両を運転することで、車両は、現在地などから目的地35あるいは経由地に移動する。
以上のように、この実施の形態1に係るカーナビゲーションシステムは、探索の起点となる現在地から終点までの直線距離が2km以下の距離であって、且つ、起点から終点を見る目的地方角が90度以上且つ270度以下である場合には、探索の終点が現在地の後方の至近距離に設定されたと判断している。これにより、カーナビゲーションシステムは、実際に探索の起点となる現在地から終点までの候補経路を探索する前に、簡単な演算処理により、探索の終点が現在地の後方の至近距離に設定されたか否かを判断することができる。
また、この実施の形態1に係るカーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定された場合には、リンクデータ群25およびノードデータ群26に記憶されるリンクおよびノードのコスト情報をそのまま加算して、各候補経路のコストを計算する。つまり、コスト計算部43は、各候補経路のコストを、道なり優先の条件下で計算しない。
したがって、カーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定されたと判断した場合には、車両をUターンさせる経路を案内経路48として生成することが可能である。
その結果、カーナビゲーションシステムは、上述した条件に該当するようにUターンした方が明らかに早く目的地35に到達することができるような場合においては、道なり優先のコスト計算条件46の下で探索した場合の案内経路48に比べて目的地35に早く到達することができる、そのUターンをする経路を案内することができる。
また、この実施の形態1に係るカーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定されたか否かを判断して、道なり優先係数をコスト計算に使用するか否かを制御している。コスト計算部43は、設定された条件下で、各候補経路のコストを計算する。したがって、たとえば探索の終点が現在地の後方の至近距離に設定されたと判断した場合であっても、道なりに進んで目的地に向う経路が選択され得る。
なお、この実施の形態1では、経路探索の起点として現在地を使用している。探索の起点としては、現在地のほかにも、経由地などが出発地として選択されうる。カーナビゲーションシステムは、経由地などから目的地35や他の経由地への経路を探索することもある。したがって、コスト計算条件設定部41は、探索の起点から終点までの直線距離の判断に先立って、たとえば探索の起点が現在地であるか否かを判断し、探索の起点が現在地である場合において、探索の起点から終点までの直線距離の判断およびそれ以降の処理を実施するようにしてもよい。これにより、現在地からの経路探索と、経由地からの経路探索などとを区別して、たとえば現在地とは異なる場所である経由地から目的地35までの直線距離が2km以下であるような探索をする場合において、道なり優先を解除した探索条件下での経路探索をしてしまうことを予防することができる。
実施の形態2.
図8は、本発明の実施の形態2に係るカーナビゲーションシステムにおいて、案内経路の探索時に実現される機能を示すブロック図である。
記憶デバイス15に記憶されるコスト計算条件リスト71は、渋滞係数、道なり優先係数、Uターン優先係数などの各種の係数を記憶する。
Uターン優先とは、たとえば車両の進行方向や走行車線が予め判っている場合、その進行方向とは逆向きに進む道路あるいは車線が、その他の道路に比べて、案内経路48として相対的に選択され易くすることである。Uターン優先係数は、その進行方向とは逆方向となるリンクのコスト情報に乗算される係数である。Uターン優先係数は、1より小さい値を有する。これにより、車両の進行方向とは逆方向への道路の通過コストを下げることができる。
コスト計算条件設定部72は、コスト計算条件リスト71に基づいて、探索時の車両の状況などに応じたコスト計算条件46を生成し、記憶デバイス15に記憶させる。コスト計算条件46は、たとえば、Uターン優先にて探索する状況下では、Uターン優先係数を有する。コスト計算条件設定部72は、判断手段として機能する。
コスト計算部73は、候補経路リスト47として記憶デバイス15に記憶される各候補経路のコストを計算する。コスト計算部73は、コスト計算手段として機能する。
図8に示すこれ以外の構成要素は、実施の形態1に係る同名の構成要素と同じ機能を有するものであり、実施の形態1と同名の構成と同一の符号を付してその説明を省略する。また、実施の形態2に係るカーナビゲーションシステムにおいて、経路の案内時に実現される機能は、実施の形態1と同様であり、その説明を省略する。
なお、このコスト計算条件設定部72およびコスト計算部73は、記憶デバイス15に記憶される案内経路生成プログラムがCPU2に実行されることで、候補経路生成部42および案内経路選択部44とともに、実現される。
次に、以上の構成を有する実施の形態2に係るカーナビゲーションシステムの動作を説明する。
図9は、図8に示すカーナビゲーションシステムの経路探索時の動作を示すフローチャートである。
タッチパネル12などからの探索開始指示に基づいて探索の起点となる現在地および終点となる目的地35を選択した後、コスト計算条件設定部72は、コスト計算条件46の設定を開始する。コスト計算条件設定部72は、コスト計算条件リスト71に記憶されている渋滞係数などを、コスト計算条件46として記憶デバイス15に記憶させる。
コスト計算条件設定部72は、探索の起点から終点までの直線距離が2km以下か否かを判断し(ステップST1)、探索の起点から終点までの直線距離が2kmより長い場合、コスト計算条件リスト71に記憶されている道なり優先係数を、コスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
探索の起点から終点までの直線距離が2km以下である場合、コスト計算条件設定部72は、目的地方角が90度から270度の範囲内か否かを判断し(ステップST3)、目的地方角が90度より小さいか、もしくは、270度より大きい場合、道なり優先係数をコスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
目的地方角が90度から270度の範囲内である場合、コスト計算条件設定部72は、コスト計算条件リスト71に記憶されているUターン優先係数を、コスト計算条件46として記憶デバイス15に記憶させる(ステップST11)。
以上のコスト計算条件46の設定処理により、図3(A)のハッチングが施された部分内に目的地35がある場合、コスト計算条件設定部72は、コスト計算条件46として、道なり優先係数を設定せずに、渋滞係数、Uターン優先係数を設定する。目的地35がそれ以外の場所にある場合には、コスト計算条件設定部72は、コスト計算条件46として、渋滞係数、道なり優先係数を設定する。
コスト計算条件46の設定処理が終了すると、コスト計算条件設定部72は、候補経路生成部42に候補経路の生成を指示する。候補経路生成部42は、リンクデータ群25およびノードデータ群26を使用して、候補経路を生成する(ステップST4)。記憶デバイス15に候補経路が記憶されると、コスト計算部73は、各候補経路のコストを計算する(ステップST5)。記憶デバイス15に記憶される各候補経路のコストが計算されると、案内経路選択部44は、その記憶デバイス15に記憶される複数の候補経路(候補経路リスト47)の中から、コストが最も低い候補経路を選択する(ステップST6)。案内経路選択部44は、選択した1つの候補経路を、案内経路48として記憶デバイス15に記憶させる。
ところで、コスト計算条件46としてUターン優先係数が設定されている場合、コスト計算部73は、探索の起点および終点が図3(A)の状態である場合において「起点→L6→N4→L5→終点」という候補経路のコストを演算する際に、以下のように個別の通過コストを計算する。すなわち、コスト計算部73は、リンクL6についてリンクデータ群に記憶されているコスト情報に、Uターン優先係数を乗算し、その演算結果をリンクL6の個別の通過コストとする。コスト計算部73は、ノードN4についてノードデータ群に記憶されているコスト情報に、Uターン優先係数を乗算し、その演算結果をノードN4の個別の通過コストとする。コスト計算部73は、リンクL5についてリンクデータ群に記憶されているコスト情報に、Uターン優先係数を乗算し、その演算結果をリンクL5の個別の通過コストとする。
したがって、「起点→L6→N4→L5→終点」という候補経路のコストは、リンクデータ群25およびノードデータ群26に記憶されているコスト情報をそのままそれぞれの個別の通過コストとする場合にくらべて、小さくなる。そして、案内経路選択部44は、この小さくなった「起点→L6→N4→L5→終点」という候補経路のコストと、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストとを比較する。
その結果、たとえばリンクデータ群25およびノードデータ群26に記憶されているコスト情報をそのまま個別の通過コストとして演算した場合には、「起点→L6→N4→L5→終点」という候補経路のコストが、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストより高くなる場合であったとしても、その「起点→L6→N4→L5→終点」という候補経路のコストを下げて、「起点→L6→N4→L5→終点」という候補経路が案内経路として選択され易くすることができる。
以上のように、この実施の形態2に係るカーナビゲーションシステムは、探索の起点となる現在地から終点までの直線距離が2km以下の距離であって、且つ、起点から終点を見る目的地方角が90度以上且つ270度以下である場合には、探索の終点が現在地の後方の至近距離に設定されたと判断し、Uターン優先の条件下で各候補経路のコストを計算する。
したがって、カーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定されたと判断した場合には、車両をUターンさせる経路のコストが他の経路のコストに比べて相対的に低くなり、その車両をUターンさせる経路が案内経路48として生成され易くなる。
その結果、カーナビゲーションシステムは、上述した条件に該当するようにUターンした方が明らかに早く目的地35に到達することができるような場合においては、道なり優先のコスト計算条件46の下で探索した場合の案内経路48に比べて目的地35に早く到達することができる、そのUターンをする経路を案内することができる。
実施の形態3.
図10は、本発明の実施の形態3に係るカーナビゲーションシステムにおいて、案内経路の探索時に実現される機能を示すブロック図である。
記憶デバイス15に記憶されるコスト計算条件リスト81は、渋滞係数、道なり優先係数、道なり劣後係数、などの各種の係数を記憶する。
道なり劣後とは、たとえば車両の進行方向や走行車線が予め判っている場合、その進行方向へ進む道路あるいは車線が、その他の道路に比べて、案内経路48として相対的に選択され難くすることである。道なり劣後係数は、その進行方向となるリンクのコスト情報に乗算される係数である。道なり劣後係数は、1より大きい値を有する。これにより、車両の進行方向への道路の通過コストを上げることができる。
コスト計算条件設定部82は、コスト計算条件リスト81に基づいて、探索時の車両の状況などに応じたコスト計算条件46を生成し、記憶デバイス15に記憶させる。コスト計算条件46は、たとえば、道なり劣後にて探索する状況下では、道なり劣後係数を有する。コスト計算条件設定部82は、判断手段として機能する。
コスト計算部83は、候補経路リスト47として記憶デバイス15に記憶される各候補経路のコストを計算する。コスト計算部83は、コスト計算手段として機能する。
図8に示すこれ以外の構成要素は、実施の形態1に係る同名の構成要素と同じ機能を有するものであり、実施の形態1と同名の構成と同一の符号を付してその説明を省略する。また、実施の形態3に係るカーナビゲーションシステムにおいて、経路の案内時に実現される機能は、実施の形態1と同様であり、その説明を省略する。
なお、このコスト計算条件設定部82およびコスト計算部83は、記憶デバイス15に記憶される案内経路生成プログラムがCPU2に実行されることで、候補経路生成部42および案内経路選択部44とともに、実現される。
次に、以上の構成を有する実施の形態3に係るカーナビゲーションシステムの動作を説明する。
図11は、図10に示すカーナビゲーションシステムの経路探索時の動作を示すフローチャートである。
タッチパネル12などからの探索開始指示に基づいて探索の起点となる現在地および終点となる目的地35を選択した後、コスト計算条件設定部82は、コスト計算条件46の設定を開始する。コスト計算条件設定部82は、コスト計算条件リスト81に記憶されている渋滞係数などを、コスト計算条件46として記憶デバイス15に記憶させる。
コスト計算条件設定部82は、探索の起点から終点までの直線距離が2km以下か否かを判断し(ステップST1)、探索の起点から終点までの直線距離が2kmより長い場合、コスト計算条件リスト81に記憶されている道なり優先係数を、コスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
探索の起点から終点までの直線距離が2km以下である場合、コスト計算条件設定部82は、目的地方角が90度から270度の範囲内か否かを判断し(ステップST3)、目的地方角が90度より小さいか、もしくは、270度より大きい場合、道なり優先係数をコスト計算条件46として記憶デバイス15に記憶させる(ステップST2)。
目的地方角が90度から270度の範囲内である場合、コスト計算条件設定部82は、コスト計算条件リスト81に記憶されている道なり劣後係数を、コスト計算条件46として記憶デバイス15に記憶させる(ステップST21)。
以上のコスト計算条件46の設定処理により、図3(A)のハッチングが施された部分内に目的地35がある場合、コスト計算条件設定部82は、コスト計算条件46として、道なり優先係数を設定せずに、渋滞係数、道なり劣後係数を設定する。目的地35がそれ以外の場所にある場合には、コスト計算条件設定部82は、コスト計算条件46として、渋滞係数、道なり優先係数を設定する。
コスト計算条件46の設定処理が終了すると、コスト計算条件設定部82は、候補経路生成部42に候補経路の生成を指示する。候補経路生成部42は、リンクデータ群25およびノードデータ群26を使用して、候補経路を生成する(ステップST4)。記憶デバイス15に候補経路が記憶されると、コスト計算部83は、各候補経路のコストを計算する(ステップST5)。記憶デバイス15に記憶される各候補経路のコストが計算されると、案内経路選択部44は、その記憶デバイス15に記憶される複数の候補経路(候補経路リスト47)の中から、コストが最も低い候補経路を選択する(ステップST6)。案内経路選択部44は、選択した1つの候補経路を、案内経路48として記憶デバイス15に記憶させる。
ところで、コスト計算条件46として道なり劣後係数が設定されている場合、コスト計算部83は、探索の起点および終点が図3(A)の状態である場合において「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストを演算する際に、以下のように個別の通過コストを計算する。すなわち、コスト計算部83は、各リンク(たとえばリンクL1)についてリンクデータ群に記憶されているコスト情報に、道なり劣後係数を乗算し、その演算結果をそのリンク(たとえばリンクL1)の個別の通過コストとする。コスト計算部83は、各ノード(たとえばN1)についてノードデータ群に記憶されているコスト情報に、道なり劣後係数を乗算し、その演算結果をそのノード(たとえばN1)の個別の通過コストとする。
したがって、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストは、リンクデータ群25およびノードデータ群26に記憶されているコスト情報をそのままそれぞれの個別の通過コストとする場合にくらべて、大きくなる。そして、案内経路選択部44は、この大きくなった「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストと、「起点→L6→N4→L5→終点」という候補経路のコストと、を比較する。
その結果、たとえばリンクデータ群25およびノードデータ群26に記憶されているコスト情報をそのまま個別の通過コストとして演算した場合には、「起点→L6→N4→L5→終点」という候補経路のコストが、「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストより高くなる場合であったとしても、その「起点→L1→N1→L2→N2→L3→N3→L4→N4→L5→終点」という候補経路のコストを上げて、「起点→L6→N4→L5→終点」という候補経路が案内経路として選択され易くすることができる。
以上のように、この実施の形態3に係るカーナビゲーションシステムは、探索の起点となる現在地から終点までの直線距離が2km以下の距離であって、且つ、起点から終点を見る目的地方角が90度以上且つ270度以下である場合には、探索の終点が現在地の後方の至近距離に設定されたと判断し、道なり劣後の条件下で各候補経路のコストを計算する。
したがって、カーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定されたと判断した場合には、道なりに進む経路のコストが他の経路のコストに比べて相対的に高くなり、車両をUターンさせる経路は、その道なりに進む経路のコストに比べて相対的に低くなり、その車両をUターンさせる経路が案内経路48として生成され易くなる。
その結果、カーナビゲーションシステムは、上述した条件に該当するようにUターンした方が明らかに早く目的地35に到達することができるような場合においては、道なり優先のコスト計算条件46の下で探索した場合の案内経路48に比べて目的地35に早く到達することができる、そのUターンをする経路を案内することができる。
なお、この実施の形態3では、カーナビゲーションシステムは、探索の終点が現在地の後方の所定距離以下に設定されたと判断した場合には、道なりに進む経路のコストを、他の経路のコストに比べて相対的に高くしている。この他にもたとえば、探索の終点が現在地の後方の所定距離以下に設定されたと判断した場合には、カーナビゲーションシステムは、この実施の形態3のように道なりに進む経路のコストを、他の経路のコストに比べて相対的に高くするとともに、実施の形態2のように車両をUターンさせる経路のコストを他の経路のコストに比べて相対的に低くするようにしてもよい。
以上の各実施の形態は、本発明の好適な実施の形態の例であるが、本発明はこれに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
たとえば上記各実施の形態では、コスト計算条件設定部41は、探索の起点から終点までの直線距離と目的地方角とに基づいて、目的地が現在地の後方の所定距離以下に設定されたか否かを判断し、コスト計算条件46として設定する係数を選択している。この他にもたとえば、コスト計算条件設定部41は、探索の起点から終点までの直線距離のみに基づいて、目的地が現在地の後方の所定距離以下に設定されたか否かを判断し、コスト計算条件46として設定する係数を選択したりするようにしてもよい。また、コスト計算条件設定部41は、直線距離ではなく、探索の起点から終点までの最短の経路における距離に基づいて、目的地が現在地の後方の所定距離以下に設定されたか否かを判断し、コスト計算条件46として設定する係数を選択するようにしてもよい。
上記各実施の形態では、コスト計算条件設定部41は、探索の起点から終点までの直線距離が2km以下か否かを判断して、コスト計算条件46として設定する係数を選択している。この他にもたとえば、コスト計算条件設定部41は、たとえば1km以下か否かとか、5km以下か否かとかの所定の任意の距離以下か否かに基づいて、目的地が現在地の後方の所定距離以下に設定されたか否かを判断し、コスト計算条件46として設定する係数を選択するようにしてもよい。同様に、コスト計算条件設定部41は、目的地方向が、たとえば135度から225度の範囲内か否かなどに基づいて、目的地が現在地の後方の所定距離以下に設定されたか否かを判断し、コスト計算条件46として設定する係数を選択するようにしてもよい。
この他にもたとえば、コスト計算条件設定部41は、自車の後方となる道路およびその後方となる道路から所定の距離(たとえば1kmなど)の範囲内に、目的地があるか否かを判断して、コスト計算条件46として設定する係数を選択するようにしてもよい。自車の後方となる道路は、さらに現在地から所定の距離以下となる範囲内に制限するとよい。これらの場合、コスト計算条件設定部41は、たとえば上述した範囲内に目的地がある場合に、目的地が現在地の後方の所定距離以下に設定されたと判断し、Uターン優先係数や道なり劣後係数を設定するようにすればよい。
上記各実施の形態では、コスト計算条件設定部41は、目的地が現在地の後方の至近距離に設定されたか否かのみを判断している。この他にもたとえば、コスト計算条件設定部41は、探索の起点から終点までの直線距離あるいは目的地方向について複数段階にて判断し、その段階毎に、異なる値の係数を使い分けて設定するようにしてもよい。また、コスト計算条件設定部41は、その段階毎に、たとえばUターン優先係数と道なり劣後係数などの異なる種類の係数を切り替えて設定するようにしてもよい。同様に、目的地方角の大きさに応じて、その係数の値を変化させるようにしてもよい。たとえば、自車の進行方向から180度に近い領域の係数値を低くし、90度または270度に近い領域の係数値を高く(<=1)するようにする。
上記各実施の形態では、リンクあるいはノードごとに個別に係数を乗算し、それを加算することで候補経路のコストを計算している。この他にもたとえば、リンクデータ群およびノードデータ群のコスト情報のみに基づいて得られる経路全体のコストに、係数を乗算し、その演算結果を、候補経路のコストとして計算するようにしてもよい。
上記各実施の形態では、コスト計算部43,73,83は、各候補経路のコストを1つ計算している。この他にもたとえば、コスト計算部43,73,83は、各候補経路について、複数のコストを計算するようにしてもよい。この場合、案内経路選択部44は、各候補経路の複数のコストに基づいて総合的に判断し、最適と思われるものを案内経路として選択するようにすればよい。
上記各実施の形態は、カーナビゲーションシステムに適用した場合の例である。この他にもたとえば、本発明は、歩行者、自転車などの経路を案内するナビゲーションシステムに適用することができる。また、ナビゲーションシステムは、携帯電話端末と、それと無線通信回線を介して接続されるナビゲーション用サーバとで構成されていてもよい。