本発明は、地図データを利用する経路探索手法に関する。
カーナビゲーション装置、インターネットを利用した地図提供アプリケーションなどには経路探索機能が設けられている。経路探索機能は地理上の出発地から目的地に至る経路を、地図データを利用して自動計算し、ユーザに提示する機能である。
一般的に、遠距離の経路計算は、候補となる道路数が多くなるため時間を要する。通常、経路計算用データは階層構造となっており、遠距離の経路計算では、主要道路のみを含むデータを使用することにより、計算の高速化を図っている。しかし、主要道路に限っても、全国的には相当数の道路リンクが存在する。よって、複数の県を経由するような遠距離経路の計算においては、主要道路の道路リンク全てを計算の対象とするため、膨大な計算量が要求される。
遠距離の経路計算を高速に行うために、経路計算用データ中に、通常のノード及びリンクのデータ以外に特殊なデータを含める手法が知られている。例えば、出発地のエリアと目的地のエリアの組み合わせに対して、その間の経路計算に必要なリンクのみを格納したデータを用意し、これを用いて経路計算を行う手法が知られている。
また、特許文献1には以下のような手法が提案されている。まず、地図上の地域を複数の探索区画に分割し、各探索区画に対して、一般的な使用が予想される高速道路や国道などの候補道路、及び、その候補道路への接続点(出入口)を予め決めて記憶しておく。経路計算時には、始点及び終点を含む探索区画に対応する候補道路及びその候補道路への接続点を呼び出し、候補道路のみを用いて経路計算を行う。
しかし、上記のような手法では、経路計算用データに含まれる特殊データの量が大きくなってしまう。また、道路の変更に応じて経路計算用データの更新が必要となった場合に、更新すべきデータ量も増大する。
本発明が解決しようとする課題としては、上記のようなものが例として挙げられる。本発明は、経路計算用データのデータ量を過度に増大させることなく、遠距離の経路計算を高速化することを課題とする。
請求項1に記載の発明では、経路探索装置は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、前記経路計算用データを用いて、経路計算を行う経路計算手段と、を備え、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行うことを特徴とする。
請求項6に記載の発明では、経路探索方法は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを用いて、経路計算を行う経路計算工程を備え、前記経路計算工程は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行うことを特徴とする。
請求項7に記載の発明では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、コンピュータと、を備える端末装置において実行される経路探索プログラムは、前記経路計算用データを用いて、経路計算を行う経路計算手段として前記コンピュータを機能させ、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として、経路計算を行うことを特徴とする。
請求項8に記載の発明では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶した記憶媒体が提供される。
本発明の実施例において使用する地図データの構成を模式的に示す。
経路計算用データの構成例を示す。
ノードデータの構成例を示す。
リンク及びノードと、候補リンクデータとの関係を示す。
候補リンクデータの例を模式的に示す。
道なりのリンクの決定方法の例を示す。
中間目的地テーブルの例を示す。
実施例に係るナビゲーション装置の概略構成を示すブロック図である。
実施例による経路探索処理のフローチャートである。
実施例による経路探索の例を示す。
候補リンクデータの変形例を示す。
符号の説明
120 地図データ
122 地図表示用データ
124 経路計算用データ
125 ノードデータ
126 リンクデータ
131、132 候補リンクデータ
200 ナビゲーション装置
本発明の1つの観点では、経路探索装置は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、前記経路計算用データを用いて、経路計算を行う経路計算手段と、を備え、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
上記の経路探索装置は、ナビゲーション装置、又は、インターネット又は記憶媒体上の地図データを利用して経路探索を行うPCなどの端末装置として構成することができる。経路探索に使用される経路計算用データは、ノードデータ及びリンクデータに加え、ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータを含む。経路計算手段は、候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
このように、経路計算においては道なりのリンクを選択することを原則とし、道なり以外のリンクを計算対象にする場合にのみ、それを示す候補リンクデータをノードに関連付けて用意する。よって、経路計算の高速化のために用意、記憶する候補リンクデータは必要なノードに対してのみ存在することとなり、そのデータ量を抑えることができる。また、経路計算手段は、候補リンクデータが存在しないノードについては、道なりのリンクのみを計算対象とすればよいので、迅速な計算が可能となる。
上記の経路探索装置の一態様では、前記候補リンクデータは探索条件毎に用意されており、前記経路計算手段は、ユーザが指定した探索条件に対応する候補リンクデータを用いて経路計算を行う。探索条件としては、例えば高速道路優先、高速道路回避、時間優先、距離優先などが挙げられる。探索条件毎に最適な経路が異なってくるので、候補リンクデータも探索条件毎に用意されることが好ましい。
上記の経路探索装置の他の一態様では、前記経路計算手段は、前記候補リンクデータが示すリンクのうち、目的地が示されているリンクのみを対象とする。候補リンクデータ中にリンクが示されていても、対応する目的地が示されていないリンクは、候補経路の計算対象から除外することにより、計算量を減らすことができる。
上記の経路探索装置の他の一態様では、前記経路計算用データは異なる縮尺に対応する複数のレイヤ毎に用意されており、前記候補リンクデータは、少なくとも最も広域の地図に対応するレイヤに対して用意されている。これにより、特に遠距離の経路探索において、広域の地図に含まれる高速道路や主要幹線道路上を利用した経路計算を高速化することができる。
上記の経路探索装置の他の一態様では、前記経路計算用データは、最終目的地と、当該最終目的地までの経路の途中に位置する中間目的地との対応を示す中間目的地テーブルを含み、前記経路計算手段は、前記最終目的地及び前記中間目的地を前記目的地として候補経路を計算する。経路計算用データにおいて、各リンクに対応して設定される目的地は多数存在するので、最終目的地と中間目的地の対応をテーブルとして記憶しておき、候補リンクデータには中間目的地を設定することにより、候補リンクデータのデータ量を低減することができる。
本発明の他の観点では、経路探索方法は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを用いて、経路計算を行う経路計算工程を備え、前記経路計算工程は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
この方法によっても、経路計算用データのデータ量を過度に増大させることなく、経路計算を高速化することができる。
本発明のさらに他の観点では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、コンピュータと、を備える端末装置において実行される経路探索プログラムは、前記経路計算用データを用いて、経路計算を行う経路計算手段として前記コンピュータを機能させ、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
このプログラムを、端末装置上で実行することにより、本発明の経路計算装置を実現することができる。なお、端末装置とは、ナビゲーション装置、PCなどを含む。
本発明のさらに他の観点では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶した記憶媒体が提供される。この記憶媒体から経路計算用データを取得することにより、迅速な経路計算が可能となる。
以下、図面を参照して本発明の好適な実施例について説明する。
[地図データ]
図1に、本実施例において使用する地図データの構成を模式的に示す。地図データは、異なる複数の縮尺に対応する複数のレイヤを含む階層構造に構成されている。図1は説明の便宜上、3階層の地図データを例示しているが、地図データはより多数の階層構造としてもよい。各レイヤにおいて、地図データの1つの単位をパーセルPと呼ぶ。図1において、レイヤ3は最上位レイヤであり、最も広域の地図に対応する。レイヤ1は最下位レイヤであり、最も詳細な地図に対応する。
地図データ120は、各レイヤ毎に別個に用意されており、それぞれ地図表示用データ122と、経路計算用データ124とを含む。地図表示用データ122は、ユーザに対して地図画像を表示するために使用されるデータであり、主として地図に対応する画像データを含む。経路計算用データ124は、経路探索機能による経路計算に使用されるデータである。
図2に経路計算用データの構成を示す。経路計算用データ124は、ノードデータ125及びリンクデータ126を含む。ノードは道路上の交差点などの所定の地点に対応し、ノードデータ125はノードを示すデータである。一方、リンクは交差点などにより区切られた道路の1区画に対応し、リンクデータ126はリンクを示すデータである。
ノード及びリンクの例を図4(A)及び4(B)に示す。図4(A)に示す複数の道路111を含む地図は、図4(B)に示すように複数のノード及びリンクにより構成される。なお、図4(B)においては、各ノードをノードID(N00001など)で示し、各リンクをリンクID(L00001など)で示している。
図3にノードデータの構成を示す。ノードデータ125は、各ノードに対応するノードID毎に地理的な位置座標(緯度及び経度)を含む。また、いくつかのノードは、候補リンクデータを含む。候補リンクデータは候補リンクを示すデータである。ここで、候補リンクとは、経路計算において当該ノードを経由して目的地へ至る候補経路を計算する際に対象とすべきリンクを言う。
あるノードについて、候補リンクが存在するか否かは以下のように決定される。あるノードにおいて、特定の目的地へ至るリンクが道なりのリンクである場合には、候補リンクデータは用意されない。一方、特定の目的地へ進むために、道なり以外のリンクに進む必要がある場合には、そのリンクと目的地との関係を示すために候補リンクデータが用意される。従って、後述する経路計算処理においては、候補経路上に存在する各ノードについて、候補リンクデータが存在するか否かが判断され、存在しない場合には道なりのリンクのみを対象に候補経路が計算される。一方、候補リンクデータが存在する場合は、それが示す候補リンクを対象に候補経路が計算される。このように、経路計算においては、各ノードにおいて原則として道なりのリンクのみを経路計算の対象とし、例外として候補リンクデータが存在するノードについては当該候補リンクデータが示す候補リンクを経路計算の対象に含める。これにより、全てのノードについて、経路計算の対象となる候補リンクデータを用意し、記憶しておく必要が無くなり、経路計算の高速化のために予め用意、記憶すべき特殊データのデータ量を小さくすることができる。
具体的に、候補リンクデータは、各ノードに接続された候補リンクと、その候補リンクに対応する目的地との対応を示している。図3に示すノードN00001における候補リンクデータを図5(A)に示す。ノードN00001においては、3つの進行可能な候補リンクL00101、L00102及びL00103がある。候補リンクL00101の目的地はエリアA(東京)であり、候補リンクL00102の目的地はエリアB(千葉)であり、候補リンクL00103の目的地はエリアC(横浜)である。
同様に、図3に示すノードN00002における候補リンクデータを図5(B)に示す。ノードN00001においては、2つの進行可能な候補リンクL00104及びL00105がある。候補リンクL00104の目的地はエリアDであり、候補リンクL00102の目的地はエリアEである。
なお、候補リンクデータにおいては、そのノードに接続された全ての候補リンクに対して目的地が設定されるわけではない。即ち、あるノードにおいては、当該ノードに接続された複数の候補リンクのうち、そのノードを経由する候補経路に含めるべき候補リンクのみに対して目的地が設定される。よって、該当する目的地が設定されていないリンクは、候補経路の計算対象から除外される。なお、目的地が設定されていないリンクは、一般的には、道なりのリンクが途中でとぎれており、その先に目的地が存在しないものである。例えば、図5(C)は、図3に示すノードN00003に対応する候補リンクデータを示す。ノードN00003においては、2つの進行可能な候補リンクL00106及びL00107が存在するが、候補リンクL00106に対しては目的地が設定されていない。従って、経路計算においては、経路計算しようとしている目的地がエリアFに該当する場合ノードN00003について候補リンクL00107のみが考慮され、候補経路が計算されることになる。
図3に示す候補リンクデータがノードに対応付けられた様子を図4(B)に模式的に示す。ノードN00001においては図5(A)に示す候補リンクデータ131が対応付けられており、ノードN00002においては図5(B)に示す候補リンクデータ132が対応付けられている。
候補リンクデータは、経路探索機能においてユーザが指定可能な探索条件毎に用意することができる。探索条件としては、例えば、「有料道路優先」と「有料道路回避」、「フェリー使用」と「フェリー回避」、「時間優先」、「距離優先」などが挙げられる。これは、同じ目的地であっても、探索条件によって、計算される経路が異なるからである。例えば、同じ目的地であっても、「有料道路優先」の場合と「有料道路回避」の場合とでは、ユーザに提示すべき経路が異なってくるため、各々の条件について候補リンクデータが用意される。
また、実際のデータとしては、候補リンクデータに含まれるエリア(地名)は、対応するパーセルID(地域ID)として記憶されることになる。
次に、道なりのリンクについて説明する。上述のように、本実施例の経路計算では、各ノードにおいて、原則として道なりのリンクのみを経路計算の対象とする。ここで、道なりのリンクの決定方法をいくつかの例を挙げて説明しておく。いま、図6(A)に示すように、5本のリンクL20001〜L20005が交わる交差点があるとする。
第1の例は、図6(B)に示すように、各リンクのリンクデータ中に、そのリンクについての道なりのリンクを示すリンク番号を格納しておく方法である。図6(B)において、各リンクIDの括弧内に示すリンクIDが、道なりのリンクのリンクIDを示している。例えば、リンクL20001についての道なりのリンクはL20004である。このように、リンクデータ中に道なりのリンクの情報を記憶しておけば、リンクデータを参照することにより、各リンクについての道なりのリンクを決定することができる。
第2の例は、各リンクのデータに基づいて、そのリンクの直進方向に最も近いリンクを道なりのリンクとする方法である。図6(C)において、リンクL20001の直進方向を破線で示している。この場合、リンクL20004は直進方向から角度αだけずれており、リンクL20003は直進方向から角度βだけずれている。角度α<角度βであるので、リンクL20001についての道なりのリンクはL20004と決定される。
第3の例は、各リンクのデータに基づいて、道路種別が同一であるリンクを道なりのリンクと決定するものである。図6(D)において、リンクL20001及びL20005が国道であり、リンクL20002及びL20004が県道であり、リンクL20003が市道であるとする。この場合、リンクL20001についての道なりのリンクは、同一の道路種別(国道)を有するリンクL20005である。また、リンクL20002についての道なりのリンクは、同一の道路種別(県道)を有するリンクL20004である。
なお、本発明においては、道なりのリンクの決定方法は上記の例に限られるものではない。例えば、上記の例を複数組み合わせて使用してもよいし、上記以外の方法で道なりのリンクを決定してもよい。
次に、候補リンクデータを使用する場合の目的地の読み換えについて説明する。上記のように、候補リンクデータにおいては、各候補リンクに対して目的地が設定される。しかし、各候補リンクについて、対応する全ての目的地を設定すると、候補リンクデータとして記憶すべきデータ量が膨大となってしまう。例えば、東京から名古屋へ行く場合でも、その先の大阪、神戸、広島などへ行く場合でも、あるノードにおいては同一のリンクを使用する場合がある。この際、候補リンクデータにおいて、当該リンクの目的地として、名古屋、大阪、神戸、広島、..と全ての目的地を設定したのでは、記憶すべきデータ量が膨大となってしまう。
そこで、本実施例では、候補リンクデータ中には、必要に応じて中間目的地を設定し、中間目的地と最終目的地との対応を示したテーブル(「中間目的地テーブル」と呼ぶ。)を用いて、目的地の読み換えを行う。中間目的地とは、最終目的地までの経路上にある位置する目的地を言う。上記の例では、最終目的地が大阪、神戸、広島のいずれの場合でも名古屋を経由するので、最終目的地「大阪」、「神戸」、「広島」などに対して、中間目的地「名古屋」を規定する。中間目的地テーブルの例を図7に示す。なお、図7は、東京方面から出発する際の中間目的地テーブルの例である。
図7の例を参照すると、例えば、ユーザが経路探索の最終目的地として「大阪」を指定した場合、経路探索装置は中間目的地テーブルを参照し、候補リンクデータ中の各候補リンクが示す目的地が「大阪」であるリンクに加えて、「名古屋」となっているリンクも考慮して経路計算を行う。このように、中間目的地テーブルを用いて目的地の読み換えを行うことにより、候補リンクデータ中に、各候補リンクの先にある全ての目的地を設定する必要が無くなり、記憶すべきデータ量を大幅に減少させることができる。
[ナビゲーション装置]
図8に、本発明の実施例に係るナビゲーション装置200の構成を示す。図8に示すように、ナビゲーション装置200は、自立測位装置10、GPS受信機18、システムコントローラ20、ディスクドライブ31、データ記憶ユニット36、通信用インタフェース37、通信装置38、表示ユニット40、音声出力ユニット50及び入力装置60を備える。
自立測位装置10は、加速度センサ11、角速度センサ12及び距離センサ13を備える。加速度センサ11は、例えば圧電素子からなり、車両の加速度を検出し、加速度データを出力する。角速度センサ12は、例えば振動ジャイロからなり、車両の方向変換時における車両の角速度を検出し、角速度データ及び相対方位データを出力する。距離センサ13は、車両の車輪の回転に伴って発生されているパルス信号からなる車速パルスを計測する。
GPS受信機18は、複数のGPS衛星から、測位用データを含む下り回線データを搬送する電波19を受信する。測位用データは、緯度及び経度情報等から車両の絶対的な位置を検出するために用いられる。
システムコントローラ20は、インタフェース21、CPU(Central Processing Unit)22、ROM(Read Only Memory)23及びRAM(Random Access Memory)24を含んでおり、ナビゲーション装置200全体の制御を行う。
インタフェース21は、加速度センサ11、角速度センサ12及び距離センサ13並びにGPS受信機18とのインタフェース動作を行う。そして、これらから、車速パルス、加速度データ、相対方位データ、角速度データ、GPS測位データ、絶対方位データ等をシステムコントローラ20に入力する。CPU22は、システムコントローラ20全体を制御する。ROM23は、システムコントローラ20を制御する制御プログラム等が格納された図示しない不揮発性メモリ等を有する。RAM24は、入力装置60を介して使用者により予め設定された経路データ等の各種データを読み出し可能に格納したり、CPU22に対してワーキングエリアを提供したりする。
システムコントローラ20、CD−ROMドライブ又はDVD−ROMドライブなどのディスクドライブ31、データ記憶ユニット36、通信用インタフェース37、表示ユニット40、音声出力ユニット50及び入力装置60は、バスライン30を介して相互に接続されている。
ディスクドライブ31は、システムコントローラ20の制御の下、CD又はDVDといったディスク33から、音楽データ、映像データなどのコンテンツデータを読み出し、出力する。なお、ディスクドライブ31は、CD−ROMドライブ又はDVD−ROMドライブのうち、いずれか一方としてもよいし、CD及びDVDコンパチブルのドライブとしてもよい。
データ記憶ユニット36は、例えば、HDDなどにより構成され、地図データや施設データなどのナビゲーション処理に用いられる各種データを記憶する。
通信装置38は、例えば、FMチューナやビーコンレシーバ、携帯電話や専用の通信カードなどにより構成され、通信用インタフェース37を介して、VICS(Vehicle Information Communication System)センタから配信される渋滞や交通情報などの道路交通情報、その他の情報を受信する。
表示ユニット40は、システムコントローラ20の制御の下、各種表示データをディスプレイなどの表示装置に表示する。具体的には、システムコントローラ20は、データ記憶ユニット36から地図データを読み出す。表示ユニット40は、システムコントローラ20によってデータ記憶ユニット36から読み出された地図データを、ディスプレイなどの表示画面上に表示する。表示ユニット40は、バスライン30を介してCPU22から送られる制御データに基づいて表示ユニット40全体の制御を行うグラフィックコントローラ41と、VRAM(Video RAM )等のメモリからなり即時表示可能な画像情報を一時的に記憶するバッファメモリ42と、グラフィックコントローラ41から出力される画像データに基づいて、液晶、CRT(Cathode Ray Tube)等のディスプレイ44を表示制御する表示制御部43と、ディスプレイ44とを備える。ディスプレイ44は、例えば対角5〜10インチ程度の液晶表示装置等からなり、車内のフロントパネル付近に装着される。
音声出力ユニット50は、システムコントローラ20の制御の下、CD−ROMドライブ31又はDVD−ROM32、若しくはRAM24等からバスライン30を介して送られる音声デジタルデータのD/A(Digital to Analog)変換を行うD/Aコンバータ51と、D/Aコンバータ51から出力される音声アナログ信号を増幅する増幅器(AMP)52と、増幅された音声アナログ信号を音声に変換して車内に出力するスピーカ53とを備えて構成されている。
入力装置60は、各種コマンドやデータを入力するための、キー、スイッチ、ボタン、リモコン、音声入力装置等から構成されている。入力装置60は、車内に搭載された当該車載用電子システムの本体のフロントパネルやディスプレイ44の周囲に配置される。また、ディスプレイ44がタッチパネル方式である場合には、ディスプレイ44の表示画面上に設けられたタッチパネルも入力装置60として機能する。
なお、CPU22は、予めROM23などに記憶された経路探索プログラムを実行することにより、経路計算手段として機能する。また、図1に例示する地図データは、データ記憶ユニット36に記憶される。
[経路探索処理]
次に、経路探索処理について説明する。図9に経路探索処理のフローチャートを示す。実際には、CPU22が経路探索プログラムを実行することにより、ナビゲーション装置200が経路探索装置として動作し、経路探索処理を実行する。
まず、経路探索を行うユーザは、ナビゲーション装置200の入力装置60を使用して、経路探索機能を呼び出し、目的地(最終目的地)及び探索条件などを指定、入力する。これに応じて、CPU22は、経路探索のための出発地及び目的地を決定する(ステップS10)。通常、ナビゲーション装置200を搭載した車両の自車位置が出発地に設定される。なお、PCなどの端末装置が経路探索装置となる場合には、ユーザが出発地を指定する場合もある。
次に、CPU22は、ユーザが指定した探索条件に対応する候補リンクデータを含む経路計算用データをデータ記憶ユニット36から読み出し、目的地までの候補経路を計算する(ステップS11)。この際、前述のようにCPU22は、各ノードに候補リンクデータが存在するか否かを判定し、候補リンクデータが存在するノードについては、当該候補リンクデータが示す候補リンク及び目的地に基づいて候補経路を計算する。一方、候補リンクデータが存在しないノードについては、道なりのリンクのみに基づいて候補経路を計算する。また、必要に応じて、前述の中間目的地テーブルを参照し、目的地の読み換えを行う。
こうして、出発地から目的地へ至る複数の候補経路が得られると、CPU22は各候補経路についてコスト計算を行い、最小コストを有する候補経路を決定してユーザに提示する(ステップS12)。こうして、経路探索処理が終了する。なお、コスト計算とは、経路計算において一般的に用いられる手法であり、リンク及びノードに予め対応付けされたコストの合計を計算することをいう。リンク及びノードに対応付けされたコストの値は、そのリンクやノードを通過する際に要する時間、道路の車線数などの各種の情報に基づいて予め設定されている。なお、コスト計算は既知の手法であるので、その詳細な説明は省略する。
上記の経路探索処理では、出発地から目的地に至る間の各ノードにおいて、原則として道なりのリンクのみを使用して候補経路を計算することとし、道なり以外のリンクを計算の対象に含める必要がある場合には、そのリンクを示す候補リンクデータが用意されている。よって、CPU22は、候補リンクデータが存在しない場合は道なりのリンクのみを対象とし、候補リンクデータが存在する場合にはそれが示す候補リンクを対象として候補経路の計算を行うので、遠距離の経路計算を迅速に実行することができる。また、道なりのリンクのみを計算の対象とすればよいノードについては、候補リンクデータを記憶する必要がないので、候補リンクデータとして記憶すべき全データ量をかなり抑えることができる。よって、膨大な量の特殊データを用意し、記憶する必要なく、迅速な経路探索が可能となる。
次に、本実施例による経路探索の例を説明する。いま、図10(A)に示す地図上において、出発地141から目的地142(「地点P」とする)までの経路を探索するものとする。本実施例による候補リンクデータを使用しない場合には、図10(A)に示す全ての道路(リンク)が経路計算の対象となり、計算量は膨大となる。
一方、本実施例によれば、図10(B)に示すように、地点143及び144に候補リンクデータが用意される。よって、図中の下方向からの道路にて出発地141に至った場合、地点144までの間の各ノードには候補リンクデータが存在しないので、地点144までは道なりに進むリンクが選択される。次に、地点144の候補リンクデータを参照し、目的地として「地点P」が示されている候補リンクが選択される(即ち、左折)。その後、候補リンクデータが存在しないノードを道なりに進むリンクが選択され、目的地142(地点P)に到る。こうして、破線で示す候補経路145aが得られる。同様に、図中右側からの道路にて出発点141に至った場合、地点143までは候補リンクデータが無いので道なりのリンクが選択され、地点143で経路候補データが示す地点P方向への候補リンクが選択され(即ち、斜め右方向へ進む)、その後、道なりのリンクが選択されて目的地142に至る。こうして、破線で示す候補経路145bが得られる。
このように、本実施例によれば、候補リンクデータが存在しないノードは全て道なりのリンクのみを対象として経路計算を行うので、計算の対象となるリンクを大幅に減少させることができ、迅速な経路計算が可能となる。なお、本実施例を用いても、上記の例のように、目的地に至る複数の候補経路を得ることが可能である。
[変形例]
上記の例では、候補リンクデータにおいて、異なる候補リンクには異なる目的地が設定されているが、図11(A)に例示するように、異なる候補リンクに対して同一の目的地が設定されることがある。これは、エリアXが比較的広い場合など、どちらの候補リンクを使用しても同一の目的地に到達できる場合があるからである。
また、上記の候補リンクデータの例は、あるノードに接続された複数のリンクのうちの1つのリンクから当該ノードに進入した場合の候補リンクデータを示している。しかし、同一のノードに、異なるリンクから進入した場合は、候補リンクデータの内容は異なるものとなる。即ち、あるノードに対して記憶される候補リンクデータは、そのノードに接続されたリンク毎に用意され、記憶されることになる。例えば、東西南北の方向にリンクを有するノードについては、各方向から進入した場合について、独立に候補リンクデータが必要となる。従って、実際のデータとしては、そのノードに接続されたリンク毎に独立して候補リンクデータを記憶しても良いし、全てのリンクに対する候補リンクデータをまとめて記憶してもよい。
候補リンクデータをまとめて記憶する場合の例を図11(B)に示す。図11(B)において、リンクL00201からノードZに進入した場合、リンクL00202及びL00203が候補リンクとなる。一方、リンクL00202からノードZに進入した場合、リンクL00201及びL00203が候補リンクとなり、リンクL00203からノードZに進入した場合、リンクL00201及びL00202が候補リンクとなる。
但し、この場合、単純に各リンクから進入した際の候補リンクデータをまとめて記憶すると、計算対象となるリンクが増えてしまうことがある。そのような場合には、図11(C)の括弧書きに示すように、進入方向の条件を付加することにより、不要な計算量の増加を防止することができる。
また、上記の例は、経路計算用データとして候補リンクデータを用意するものであるが、地図データには、交差点において曲がる方向やリンクと方面の名称、地名を紐付けたデータが、経路誘導用に格納されていることがある。これを上記の候補リンクデータとして利用して経路計算を行ってもよい。また、逆に、上記の候補リンクデータを用いて、方面名称等を音声等で案内を行っても良いし、方面看板として地図データの表示画像中に表示しても良い。
本発明は、地図データを用いて経路を探索する機能を有する各種の端末装置に利用することができる。具体的には、カーナビゲーション装置の他、ウェブ上で経路探索サービスを提供するサーバ装置、ウェブ上のサーバからダウンロードした地図データ又はDVD−ROMなどの記憶媒体に記憶されている地図データを用いてPC上で経路を計算するアプリケーションなどに利用することができる。
本発明は、地図データを利用する経路探索手法に関する。
カーナビゲーション装置、インターネットを利用した地図提供アプリケーションなどには経路探索機能が設けられている。経路探索機能は地理上の出発地から目的地に至る経路を、地図データを利用して自動計算し、ユーザに提示する機能である。
一般的に、遠距離の経路計算は、候補となる道路数が多くなるため時間を要する。通常、経路計算用データは階層構造となっており、遠距離の経路計算では、主要道路のみを含むデータを使用することにより、計算の高速化を図っている。しかし、主要道路に限っても、全国的には相当数の道路リンクが存在する。よって、複数の県を経由するような遠距離経路の計算においては、主要道路の道路リンク全てを計算の対象とするため、膨大な計算量が要求される。
遠距離の経路計算を高速に行うために、経路計算用データ中に、通常のノード及びリンクのデータ以外に特殊なデータを含める手法が知られている。例えば、出発地のエリアと目的地のエリアの組み合わせに対して、その間の経路計算に必要なリンクのみを格納したデータを用意し、これを用いて経路計算を行う手法が知られている。
また、特許文献1には以下のような手法が提案されている。まず、地図上の地域を複数の探索区画に分割し、各探索区画に対して、一般的な使用が予想される高速道路や国道などの候補道路、及び、その候補道路への接続点(出入口)を予め決めて記憶しておく。経路計算時には、始点及び終点を含む探索区画に対応する候補道路及びその候補道路への接続点を呼び出し、候補道路のみを用いて経路計算を行う。
しかし、上記のような手法では、経路計算用データに含まれる特殊データの量が大きくなってしまう。また、道路の変更に応じて経路計算用データの更新が必要となった場合に、更新すべきデータ量も増大する。
本発明が解決しようとする課題としては、上記のようなものが例として挙げられる。本発明は、経路計算用データのデータ量を過度に増大させることなく、遠距離の経路計算を高速化することを課題とする。
請求項1に記載の発明では、経路探索装置は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、前記経路計算用データを用いて、経路計算を行う経路計算手段と、を備え、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行うことを特徴とする。
請求項6に記載の発明では、経路探索方法は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを用いて、経路計算を行う経路計算工程を備え、前記経路計算工程は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行うことを特徴とする。
請求項7に記載の発明では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、コンピュータと、を備える端末装置において実行される経路探索プログラムは、前記経路計算用データを用いて、経路計算を行う経路計算手段として前記コンピュータを機能させ、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として、経路計算を行うことを特徴とする。
本発明の実施例において使用する地図データの構成を模式的に示す。
経路計算用データの構成例を示す。
ノードデータの構成例を示す。
リンク及びノードと、候補リンクデータとの関係を示す。
候補リンクデータの例を模式的に示す。
道なりのリンクの決定方法の例を示す。
中間目的地テーブルの例を示す。
実施例に係るナビゲーション装置の概略構成を示すブロック図である。
実施例による経路探索処理のフローチャートである。
実施例による経路探索の例を示す。
候補リンクデータの変形例を示す。
120 地図データ
122 地図表示用データ
124 経路計算用データ
125 ノードデータ
126 リンクデータ
131、132 候補リンクデータ
200 ナビゲーション装置
本発明の1つの観点では、経路探索装置は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、前記経路計算用データを用いて、経路計算を行う経路計算手段と、を備え、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
上記の経路探索装置は、ナビゲーション装置、又は、インターネット又は記憶媒体上の地図データを利用して経路探索を行うPCなどの端末装置として構成することができる。経路探索に使用される経路計算用データは、ノードデータ及びリンクデータに加え、ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータを含む。経路計算手段は、候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
このように、経路計算においては道なりのリンクを選択することを原則とし、道なり以外のリンクを計算対象にする場合にのみ、それを示す候補リンクデータをノードに関連付けて用意する。よって、経路計算の高速化のために用意、記憶する候補リンクデータは必要なノードに対してのみ存在することとなり、そのデータ量を抑えることができる。また、経路計算手段は、候補リンクデータが存在しないノードについては、道なりのリンクのみを計算対象とすればよいので、迅速な計算が可能となる。
上記の経路探索装置の一態様では、前記候補リンクデータは探索条件毎に用意されており、前記経路計算手段は、ユーザが指定した探索条件に対応する候補リンクデータを用いて経路計算を行う。探索条件としては、例えば高速道路優先、高速道路回避、時間優先、距離優先などが挙げられる。探索条件毎に最適な経路が異なってくるので、候補リンクデータも探索条件毎に用意されることが好ましい。
上記の経路探索装置の他の一態様では、前記経路計算手段は、前記候補リンクデータが示すリンクのうち、目的地が示されているリンクのみを対象とする。候補リンクデータ中にリンクが示されていても、対応する目的地が示されていないリンクは、候補経路の計算対象から除外することにより、計算量を減らすことができる。
上記の経路探索装置の他の一態様では、前記経路計算用データは異なる縮尺に対応する複数のレイヤ毎に用意されており、前記候補リンクデータは、少なくとも最も広域の地図に対応するレイヤに対して用意されている。これにより、特に遠距離の経路探索において、広域の地図に含まれる高速道路や主要幹線道路上を利用した経路計算を高速化することができる。
上記の経路探索装置の他の一態様では、前記経路計算用データは、最終目的地と、当該最終目的地までの経路の途中に位置する中間目的地との対応を示す中間目的地テーブルを含み、前記経路計算手段は、前記最終目的地及び前記中間目的地を前記目的地として候補経路を計算する。経路計算用データにおいて、各リンクに対応して設定される目的地は多数存在するので、最終目的地と中間目的地の対応をテーブルとして記憶しておき、候補リンクデータには中間目的地を設定することにより、候補リンクデータのデータ量を低減することができる。
本発明の他の観点では、経路探索方法は、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを用いて、経路計算を行う経路計算工程を備え、前記経路計算工程は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
この方法によっても、経路計算用データのデータ量を過度に増大させることなく、経路計算を高速化することができる。
本発明のさらに他の観点では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶する記憶部と、コンピュータと、を備える端末装置において実行される経路探索プログラムは、前記経路計算用データを用いて、経路計算を行う経路計算手段として前記コンピュータを機能させ、前記経路計算手段は、前記候補リンクデータが存在するノードについては当該候補リンクデータが示すリンクを対象とし、前記候補リンクデータが存在しないノードについては道なりのリンクを対象として経路計算を行う。
このプログラムを、端末装置上で実行することにより、本発明の経路計算装置を実現することができる。なお、端末装置とは、ナビゲーション装置、PCなどを含む。
本発明のさらに他の観点では、道路に対応するリンクを示すリンクデータと、道路上の所定の地点に対応するノードを示すノードデータと、前記ノードを経由する候補経路の計算対象とすべきリンクを示す候補リンクデータと、を含む経路計算用データを記憶した記憶媒体が提供される。この記憶媒体から経路計算用データを取得することにより、迅速な経路計算が可能となる。
以下、図面を参照して本発明の好適な実施例について説明する。
[地図データ]
図1に、本実施例において使用する地図データの構成を模式的に示す。地図データは、異なる複数の縮尺に対応する複数のレイヤを含む階層構造に構成されている。図1は説明の便宜上、3階層の地図データを例示しているが、地図データはより多数の階層構造としてもよい。各レイヤにおいて、地図データの1つの単位をパーセルPと呼ぶ。図1において、レイヤ3は最上位レイヤであり、最も広域の地図に対応する。レイヤ1は最下位レイヤであり、最も詳細な地図に対応する。
地図データ120は、各レイヤ毎に別個に用意されており、それぞれ地図表示用データ122と、経路計算用データ124とを含む。地図表示用データ122は、ユーザに対して地図画像を表示するために使用されるデータであり、主として地図に対応する画像データを含む。経路計算用データ124は、経路探索機能による経路計算に使用されるデータである。
図2に経路計算用データの構成を示す。経路計算用データ124は、ノードデータ125及びリンクデータ126を含む。ノードは道路上の交差点などの所定の地点に対応し、ノードデータ125はノードを示すデータである。一方、リンクは交差点などにより区切られた道路の1区画に対応し、リンクデータ126はリンクを示すデータである。
ノード及びリンクの例を図4(A)及び4(B)に示す。図4(A)に示す複数の道路111を含む地図は、図4(B)に示すように複数のノード及びリンクにより構成される。なお、図4(B)においては、各ノードをノードID(N00001など)で示し、各リンクをリンクID(L00001など)で示している。
図3にノードデータの構成を示す。ノードデータ125は、各ノードに対応するノードID毎に地理的な位置座標(緯度及び経度)を含む。また、いくつかのノードは、候補リンクデータを含む。候補リンクデータは候補リンクを示すデータである。ここで、候補リンクとは、経路計算において当該ノードを経由して目的地へ至る候補経路を計算する際に対象とすべきリンクを言う。
あるノードについて、候補リンクが存在するか否かは以下のように決定される。あるノードにおいて、特定の目的地へ至るリンクが道なりのリンクである場合には、候補リンクデータは用意されない。一方、特定の目的地へ進むために、道なり以外のリンクに進む必要がある場合には、そのリンクと目的地との関係を示すために候補リンクデータが用意される。従って、後述する経路計算処理においては、候補経路上に存在する各ノードについて、候補リンクデータが存在するか否かが判断され、存在しない場合には道なりのリンクのみを対象に候補経路が計算される。一方、候補リンクデータが存在する場合は、それが示す候補リンクを対象に候補経路が計算される。このように、経路計算においては、各ノードにおいて原則として道なりのリンクのみを経路計算の対象とし、例外として候補リンクデータが存在するノードについては当該候補リンクデータが示す候補リンクを経路計算の対象に含める。これにより、全てのノードについて、経路計算の対象となる候補リンクデータを用意し、記憶しておく必要が無くなり、経路計算の高速化のために予め用意、記憶すべき特殊データのデータ量を小さくすることができる。
具体的に、候補リンクデータは、各ノードに接続された候補リンクと、その候補リンクに対応する目的地との対応を示している。図3に示すノードN00001における候補リンクデータを図5(A)に示す。ノードN00001においては、3つの進行可能な候補リンクL00101、L00102及びL00103がある。候補リンクL00101の目的地はエリアA(東京)であり、候補リンクL00102の目的地はエリアB(千葉)であり、候補リンクL00103の目的地はエリアC(横浜)である。
同様に、図3に示すノードN00002における候補リンクデータを図5(B)に示す。ノードN00001においては、2つの進行可能な候補リンクL00104及びL00105がある。候補リンクL00104の目的地はエリアDであり、候補リンクL00102の目的地はエリアEである。
なお、候補リンクデータにおいては、そのノードに接続された全ての候補リンクに対して目的地が設定されるわけではない。即ち、あるノードにおいては、当該ノードに接続された複数の候補リンクのうち、そのノードを経由する候補経路に含めるべき候補リンクのみに対して目的地が設定される。よって、該当する目的地が設定されていないリンクは、候補経路の計算対象から除外される。なお、目的地が設定されていないリンクは、一般的には、道なりのリンクが途中でとぎれており、その先に目的地が存在しないものである。例えば、図5(C)は、図3に示すノードN00003に対応する候補リンクデータを示す。ノードN00003においては、2つの進行可能な候補リンクL00106及びL00107が存在するが、候補リンクL00106に対しては目的地が設定されていない。従って、経路計算においては、経路計算しようとしている目的地がエリアFに該当する場合ノードN00003について候補リンクL00107のみが考慮され、候補経路が計算されることになる。
図3に示す候補リンクデータがノードに対応付けられた様子を図4(B)に模式的に示す。ノードN00001においては図5(A)に示す候補リンクデータ131が対応付けられており、ノードN00002においては図5(B)に示す候補リンクデータ132が対応付けられている。
候補リンクデータは、経路探索機能においてユーザが指定可能な探索条件毎に用意することができる。探索条件としては、例えば、「有料道路優先」と「有料道路回避」、「フェリー使用」と「フェリー回避」、「時間優先」、「距離優先」などが挙げられる。これは、同じ目的地であっても、探索条件によって、計算される経路が異なるからである。例えば、同じ目的地であっても、「有料道路優先」の場合と「有料道路回避」の場合とでは、ユーザに提示すべき経路が異なってくるため、各々の条件について候補リンクデータが用意される。
また、実際のデータとしては、候補リンクデータに含まれるエリア(地名)は、対応するパーセルID(地域ID)として記憶されることになる。
次に、道なりのリンクについて説明する。上述のように、本実施例の経路計算では、各ノードにおいて、原則として道なりのリンクのみを経路計算の対象とする。ここで、道なりのリンクの決定方法をいくつかの例を挙げて説明しておく。いま、図6(A)に示すように、5本のリンクL20001〜L20005が交わる交差点があるとする。
第1の例は、図6(B)に示すように、各リンクのリンクデータ中に、そのリンクについての道なりのリンクを示すリンク番号を格納しておく方法である。図6(B)において、各リンクIDの括弧内に示すリンクIDが、道なりのリンクのリンクIDを示している。例えば、リンクL20001についての道なりのリンクはL20004である。このように、リンクデータ中に道なりのリンクの情報を記憶しておけば、リンクデータを参照することにより、各リンクについての道なりのリンクを決定することができる。
第2の例は、各リンクのデータに基づいて、そのリンクの直進方向に最も近いリンクを道なりのリンクとする方法である。図6(C)において、リンクL20001の直進方向を破線で示している。この場合、リンクL20004は直進方向から角度αだけずれており、リンクL20003は直進方向から角度βだけずれている。角度α<角度βであるので、リンクL20001についての道なりのリンクはL20004と決定される。
第3の例は、各リンクのデータに基づいて、道路種別が同一であるリンクを道なりのリンクと決定するものである。図6(D)において、リンクL20001及びL20005が国道であり、リンクL20002及びL20004が県道であり、リンクL20003が市道であるとする。この場合、リンクL20001についての道なりのリンクは、同一の道路種別(国道)を有するリンクL20005である。また、リンクL20002についての道なりのリンクは、同一の道路種別(県道)を有するリンクL20004である。
なお、本発明においては、道なりのリンクの決定方法は上記の例に限られるものではない。例えば、上記の例を複数組み合わせて使用してもよいし、上記以外の方法で道なりのリンクを決定してもよい。
次に、候補リンクデータを使用する場合の目的地の読み換えについて説明する。上記のように、候補リンクデータにおいては、各候補リンクに対して目的地が設定される。しかし、各候補リンクについて、対応する全ての目的地を設定すると、候補リンクデータとして記憶すべきデータ量が膨大となってしまう。例えば、東京から名古屋へ行く場合でも、その先の大阪、神戸、広島などへ行く場合でも、あるノードにおいては同一のリンクを使用する場合がある。この際、候補リンクデータにおいて、当該リンクの目的地として、名古屋、大阪、神戸、広島、..と全ての目的地を設定したのでは、記憶すべきデータ量が膨大となってしまう。
そこで、本実施例では、候補リンクデータ中には、必要に応じて中間目的地を設定し、中間目的地と最終目的地との対応を示したテーブル(「中間目的地テーブル」と呼ぶ。)を用いて、目的地の読み換えを行う。中間目的地とは、最終目的地までの経路上にある位置する目的地を言う。上記の例では、最終目的地が大阪、神戸、広島のいずれの場合でも名古屋を経由するので、最終目的地「大阪」、「神戸」、「広島」などに対して、中間目的地「名古屋」を規定する。中間目的地テーブルの例を図7に示す。なお、図7は、東京方面から出発する際の中間目的地テーブルの例である。
図7の例を参照すると、例えば、ユーザが経路探索の最終目的地として「大阪」を指定した場合、経路探索装置は中間目的地テーブルを参照し、候補リンクデータ中の各候補リンクが示す目的地が「大阪」であるリンクに加えて、「名古屋」となっているリンクも考慮して経路計算を行う。このように、中間目的地テーブルを用いて目的地の読み換えを行うことにより、候補リンクデータ中に、各候補リンクの先にある全ての目的地を設定する必要が無くなり、記憶すべきデータ量を大幅に減少させることができる。
[ナビゲーション装置]
図8に、本発明の実施例に係るナビゲーション装置200の構成を示す。図8に示すように、ナビゲーション装置200は、自立測位装置10、GPS受信機18、システムコントローラ20、ディスクドライブ31、データ記憶ユニット36、通信用インタフェース37、通信装置38、表示ユニット40、音声出力ユニット50及び入力装置60を備える。
自立測位装置10は、加速度センサ11、角速度センサ12及び距離センサ13を備える。加速度センサ11は、例えば圧電素子からなり、車両の加速度を検出し、加速度データを出力する。角速度センサ12は、例えば振動ジャイロからなり、車両の方向変換時における車両の角速度を検出し、角速度データ及び相対方位データを出力する。距離センサ13は、車両の車輪の回転に伴って発生されているパルス信号からなる車速パルスを計測する。
GPS受信機18は、複数のGPS衛星から、測位用データを含む下り回線データを搬送する電波19を受信する。測位用データは、緯度及び経度情報等から車両の絶対的な位置を検出するために用いられる。
システムコントローラ20は、インタフェース21、CPU(Central Processing Unit)22、ROM(Read Only Memory)23及びRAM(Random Access Memory)24を含んでおり、ナビゲーション装置200全体の制御を行う。
インタフェース21は、加速度センサ11、角速度センサ12及び距離センサ13並びにGPS受信機18とのインタフェース動作を行う。そして、これらから、車速パルス、加速度データ、相対方位データ、角速度データ、GPS測位データ、絶対方位データ等をシステムコントローラ20に入力する。CPU22は、システムコントローラ20全体を制御する。ROM23は、システムコントローラ20を制御する制御プログラム等が格納された図示しない不揮発性メモリ等を有する。RAM24は、入力装置60を介して使用者により予め設定された経路データ等の各種データを読み出し可能に格納したり、CPU22に対してワーキングエリアを提供したりする。
システムコントローラ20、CD−ROMドライブ又はDVD−ROMドライブなどのディスクドライブ31、データ記憶ユニット36、通信用インタフェース37、表示ユニット40、音声出力ユニット50及び入力装置60は、バスライン30を介して相互に接続されている。
ディスクドライブ31は、システムコントローラ20の制御の下、CD又はDVDといったディスク33から、音楽データ、映像データなどのコンテンツデータを読み出し、出力する。なお、ディスクドライブ31は、CD−ROMドライブ又はDVD−ROMドライブのうち、いずれか一方としてもよいし、CD及びDVDコンパチブルのドライブとしてもよい。
データ記憶ユニット36は、例えば、HDDなどにより構成され、地図データや施設データなどのナビゲーション処理に用いられる各種データを記憶する。
通信装置38は、例えば、FMチューナやビーコンレシーバ、携帯電話や専用の通信カードなどにより構成され、通信用インタフェース37を介して、VICS(Vehicle Information Communication System)センタから配信される渋滞や交通情報などの道路交通情報、その他の情報を受信する。
表示ユニット40は、システムコントローラ20の制御の下、各種表示データをディスプレイなどの表示装置に表示する。具体的には、システムコントローラ20は、データ記憶ユニット36から地図データを読み出す。表示ユニット40は、システムコントローラ20によってデータ記憶ユニット36から読み出された地図データを、ディスプレイなどの表示画面上に表示する。表示ユニット40は、バスライン30を介してCPU22から送られる制御データに基づいて表示ユニット40全体の制御を行うグラフィックコントローラ41と、VRAM(Video RAM )等のメモリからなり即時表示可能な画像情報を一時的に記憶するバッファメモリ42と、グラフィックコントローラ41から出力される画像データに基づいて、液晶、CRT(Cathode Ray Tube)等のディスプレイ44を表示制御する表示制御部43と、ディスプレイ44とを備える。ディスプレイ44は、例えば対角5〜10インチ程度の液晶表示装置等からなり、車内のフロントパネル付近に装着される。
音声出力ユニット50は、システムコントローラ20の制御の下、CD−ROMドライブ31又はDVD−ROM32、若しくはRAM24等からバスライン30を介して送られる音声デジタルデータのD/A(Digital to Analog)変換を行うD/Aコンバータ51と、D/Aコンバータ51から出力される音声アナログ信号を増幅する増幅器(AMP)52と、増幅された音声アナログ信号を音声に変換して車内に出力するスピーカ53とを備えて構成されている。
入力装置60は、各種コマンドやデータを入力するための、キー、スイッチ、ボタン、リモコン、音声入力装置等から構成されている。入力装置60は、車内に搭載された当該車載用電子システムの本体のフロントパネルやディスプレイ44の周囲に配置される。また、ディスプレイ44がタッチパネル方式である場合には、ディスプレイ44の表示画面上に設けられたタッチパネルも入力装置60として機能する。
なお、CPU22は、予めROM23などに記憶された経路探索プログラムを実行することにより、経路計算手段として機能する。また、図1に例示する地図データは、データ記憶ユニット36に記憶される。
[経路探索処理]
次に、経路探索処理について説明する。図9に経路探索処理のフローチャートを示す。実際には、CPU22が経路探索プログラムを実行することにより、ナビゲーション装置200が経路探索装置として動作し、経路探索処理を実行する。
まず、経路探索を行うユーザは、ナビゲーション装置200の入力装置60を使用して、経路探索機能を呼び出し、目的地(最終目的地)及び探索条件などを指定、入力する。これに応じて、CPU22は、経路探索のための出発地及び目的地を決定する(ステップS10)。通常、ナビゲーション装置200を搭載した車両の自車位置が出発地に設定される。なお、PCなどの端末装置が経路探索装置となる場合には、ユーザが出発地を指定する場合もある。
次に、CPU22は、ユーザが指定した探索条件に対応する候補リンクデータを含む経路計算用データをデータ記憶ユニット36から読み出し、目的地までの候補経路を計算する(ステップS11)。この際、前述のようにCPU22は、各ノードに候補リンクデータが存在するか否かを判定し、候補リンクデータが存在するノードについては、当該候補リンクデータが示す候補リンク及び目的地に基づいて候補経路を計算する。一方、候補リンクデータが存在しないノードについては、道なりのリンクのみに基づいて候補経路を計算する。また、必要に応じて、前述の中間目的地テーブルを参照し、目的地の読み換えを行う。
こうして、出発地から目的地へ至る複数の候補経路が得られると、CPU22は各候補経路についてコスト計算を行い、最小コストを有する候補経路を決定してユーザに提示する(ステップS12)。こうして、経路探索処理が終了する。なお、コスト計算とは、経路計算において一般的に用いられる手法であり、リンク及びノードに予め対応付けされたコストの合計を計算することをいう。リンク及びノードに対応付けされたコストの値は、そのリンクやノードを通過する際に要する時間、道路の車線数などの各種の情報に基づいて予め設定されている。なお、コスト計算は既知の手法であるので、その詳細な説明は省略する。
上記の経路探索処理では、出発地から目的地に至る間の各ノードにおいて、原則として道なりのリンクのみを使用して候補経路を計算することとし、道なり以外のリンクを計算の対象に含める必要がある場合には、そのリンクを示す候補リンクデータが用意されている。よって、CPU22は、候補リンクデータが存在しない場合は道なりのリンクのみを対象とし、候補リンクデータが存在する場合にはそれが示す候補リンクを対象として候補経路の計算を行うので、遠距離の経路計算を迅速に実行することができる。また、道なりのリンクのみを計算の対象とすればよいノードについては、候補リンクデータを記憶する必要がないので、候補リンクデータとして記憶すべき全データ量をかなり抑えることができる。よって、膨大な量の特殊データを用意し、記憶する必要なく、迅速な経路探索が可能となる。
次に、本実施例による経路探索の例を説明する。いま、図10(A)に示す地図上において、出発地141から目的地142(「地点P」とする)までの経路を探索するものとする。本実施例による候補リンクデータを使用しない場合には、図10(A)に示す全ての道路(リンク)が経路計算の対象となり、計算量は膨大となる。
一方、本実施例によれば、図10(B)に示すように、地点143及び144に候補リンクデータが用意される。よって、図中の下方向からの道路にて出発地141に至った場合、地点144までの間の各ノードには候補リンクデータが存在しないので、地点144までは道なりに進むリンクが選択される。次に、地点144の候補リンクデータを参照し、目的地として「地点P」が示されている候補リンクが選択される(即ち、左折)。その後、候補リンクデータが存在しないノードを道なりに進むリンクが選択され、目的地142(地点P)に到る。こうして、破線で示す候補経路145aが得られる。同様に、図中右側からの道路にて出発点141に至った場合、地点143までは候補リンクデータが無いので道なりのリンクが選択され、地点143で経路候補データが示す地点P方向への候補リンクが選択され(即ち、斜め右方向へ進む)、その後、道なりのリンクが選択されて目的地142に至る。こうして、破線で示す候補経路145bが得られる。
このように、本実施例によれば、候補リンクデータが存在しないノードは全て道なりのリンクのみを対象として経路計算を行うので、計算の対象となるリンクを大幅に減少させることができ、迅速な経路計算が可能となる。なお、本実施例を用いても、上記の例のように、目的地に至る複数の候補経路を得ることが可能である。
[変形例]
上記の例では、候補リンクデータにおいて、異なる候補リンクには異なる目的地が設定されているが、図11(A)に例示するように、異なる候補リンクに対して同一の目的地が設定されることがある。これは、エリアXが比較的広い場合など、どちらの候補リンクを使用しても同一の目的地に到達できる場合があるからである。
また、上記の候補リンクデータの例は、あるノードに接続された複数のリンクのうちの1つのリンクから当該ノードに進入した場合の候補リンクデータを示している。しかし、同一のノードに、異なるリンクから進入した場合は、候補リンクデータの内容は異なるものとなる。即ち、あるノードに対して記憶される候補リンクデータは、そのノードに接続されたリンク毎に用意され、記憶されることになる。例えば、東西南北の方向にリンクを有するノードについては、各方向から進入した場合について、独立に候補リンクデータが必要となる。従って、実際のデータとしては、そのノードに接続されたリンク毎に独立して候補リンクデータを記憶しても良いし、全てのリンクに対する候補リンクデータをまとめて記憶してもよい。
候補リンクデータをまとめて記憶する場合の例を図11(B)に示す。図11(B)において、リンクL00201からノードZに進入した場合、リンクL00202及びL00203が候補リンクとなる。一方、リンクL00202からノードZに進入した場合、リンクL00201及びL00203が候補リンクとなり、リンクL00203からノードZに進入した場合、リンクL00201及びL00202が候補リンクとなる。
但し、この場合、単純に各リンクから進入した際の候補リンクデータをまとめて記憶すると、計算対象となるリンクが増えてしまうことがある。そのような場合には、図11(C)の括弧書きに示すように、進入方向の条件を付加することにより、不要な計算量の増加を防止することができる。
また、上記の例は、経路計算用データとして候補リンクデータを用意するものであるが、地図データには、交差点において曲がる方向やリンクと方面の名称、地名を紐付けたデータが、経路誘導用に格納されていることがある。これを上記の候補リンクデータとして利用して経路計算を行ってもよい。また、逆に、上記の候補リンクデータを用いて、方面名称等を音声等で案内を行っても良いし、方面看板として地図データの表示画像中に表示しても良い。
本発明は、地図データを用いて経路を探索する機能を有する各種の端末装置に利用することができる。具体的には、カーナビゲーション装置の他、ウェブ上で経路探索サービスを提供するサーバ装置、ウェブ上のサーバからダウンロードした地図データ又はDVD−ROMなどの記憶媒体に記憶されている地図データを用いてPC上で経路を計算するアプリケーションなどに利用することができる。