(57)【要約】【課題】経路探索で得られる経路の品質を維持しつつ、経路探索の所要時間を短縮化を図る。【解決手段】出発地から目的地まで経路探索するナビゲーション装置において、少なくとも１つの階層の地図データを除いた階層構造を有する地図データを格納した情報記憶手段（３）と、前記情報記憶手段から階層構造の地図データを読み出し、出発地側、目的地側それぞれ所定領域内を経路探索し、探索領域の重なった範囲で最短コスト経路を取得する経路探索手段（４ａ）と、経路探索手段の探索を制御する制御手段（４ｂ）とを備え、前記経路探索手段は、直近の上位階層の地図データが存在しない階層の探索において前記所定領域を上位階層の探索領域に拡張して探索し、前記制御手段は、取得した最短コスト経路のコストより上位階層まで探索して取得した最短コスト経路のコストが小さいとき、最短コスト経路のコストを更新する。【選択図】        図１
2010096603.tif 000002
【特許請求の範囲】
【請求項１】
出発地から目的地まで経路探索するナビゲーション装置において、
少なくとも１つの階層の地図データを除いた階層構造を有する地図データを格納した情報記憶手段と、
前記情報記憶手段から階層構造の地図データを読み出し、出発地側、目的地側それぞれ所定領域内を経路探索し、探索領域の重なった範囲で最短コスト経路を取得する経路探索手段と、
経路探索手段の探索を制御する制御手段とを備え、
前記経路探索手段は、直近の上位階層の地図データが存在しない階層の探索において前記所定領域を上位階層の探索領域に拡張して探索し、
前記制御手段は、取得した最短コスト経路のコストより上位階層まで探索して取得した最短コスト経路のコストが小さいとき、最短コスト経路のコストを更新することを特徴とするナビゲーション装置。
【請求項２】
前記経路探索手段は、前記所定領域を上位階層の探索領域に拡張する際に、前記所定領域内の境界までのコストが最小になる方向に優先的に拡張することを特徴とする請求項１記載のナビゲーション装置。
【請求項３】
前記制御手段は、出発地側、または目的地側の所定領域内で探索途中の到達コストが既に取得した最短コスト経路のコストを超えたとき、それ以降のノードに対するコスト付けをしないように経路探索手段を制御することを特徴とする請求項１記載のナビゲーション装置。
【請求項４】
前記制御手段は、出発地側、または目的地側の所定領域の境界ノードに到達コストが設定されていないとき、経路探索手段の経路探索を終了させることを特徴とする請求項１記載のナビゲーション装置。
【請求項５】
前記制御手段は、出発地側、目的地側の所定領域の境界ノード最小コストの合計が既に取得した最短コスト経路のコストより大きいとき、経路探索手段の経路探索を終了させることを特徴とする請求項１記載のナビゲーション装置。
【請求項６】
下位階層の境界ノードに対応する上位階層ノードの隣接ノード到達コストが既に取得した最短コスト経路のコストを超えたとき、それ以降のノードに対するコスト付けをしないように経路探索手段を制御することを特徴とする請求項１記載のナビゲーション装置。
【請求項７】
道路に関する情報を記憶した情報記憶手段と、
前記情報記憶手段に記憶された道路情報に基づいて、目的地までの経路を探索する経路探索手段と、
前記経路探索手段により探索された経路の品質を判定し経路探索処理を制御する制御手段とを有し、
前記道路情報は、少なくとも１つの階層を除いた詳細度の異なる複数階層のデータレベルで構成され、
前記経路探索手段は、出発地側・目的地側の所定領域の範囲を詳細なデータで探索し、直近の上位階層のデータが存在しない階層の探索において前記所定領域を前記上位階層の探索領域に拡張して探索した後、上位の階層のデータレベルへ移行して経路探索を継続し、前記制御手段は、出発地と目的地の間で経路がつながったとき、上位の階層のデータレベルで探索された経路と下位階層のデータレベルで探索された経路とのコストを比較し、下位階層のデータレベルで探索された経路のコストが、上位階層のデータレベルで探索された経路のコストより低いと判断したとき、経路探索処理を終了することを特徴とするナビゲーション装置。
【請求項８】
出発地から目的地まで経路探索するナビゲーション装置を制御すプログラムにおいて、
情報記憶手段から少なくとも１つの階層の地図データを除いた階層構造を有する地図データを読み出すステップ、
出発地側、目的地側それぞれ所定領域内を経路探索し、直近の上位階層の地図データが存在しない階層の探索において前記所定領域を前記上位階層の探索領域に拡張して探索し、探索領域の重なった範囲で最短コスト経路を取得するステップ、
取得した最短コスト経路のコストより上位階層まで探索して取得した最短コスト経路のコストが小さいとき、最短コスト経路のコストを更新するステップ、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は階層構造を有する地図データの容量を削減し、経路の品質を維持しつつ経路探索時間の短縮を図るようにしたナビゲーション装置及びプログラムに関する。
【背景技術】
【０００２】
ナビゲーション装置では、経路の探索を行う際に、高速道路、有料道路、国道、主要地方道、県道、細街路等の道路種別や、右左折禁止、一方通行等の交通規制の有無、リンク長、道路の幅員、車線数等によって、それぞれ、リンク又はリンク間（ノード）に各種のコストが設定されている。そして、自車位置から目的地までの最適経路を探索する際、地図データに記憶されたリンクに沿って出発地側及び目的地側から経路を探索し、出発地側からの探索と目的地側からの探索との重なり部分において、出発地側から累積されたコストと目的地側から累積されたコストとを加算し、コスト加算値が最小になる経路を最適な誘導経路として設定している。
【０００３】
このような経路探索の所要時間を短縮するために、階層構造を持つ地図データを使用した階層別探索手法が知られている（特許文献１）。階層構造を持つ地図データは、下位階層は全ての道路データを有する詳細地図データ、上位の階層ほど主要な道路データのみ有する広域の地図データから構成される。階層別探索手法は、出発地と目的地の周辺は詳細な地図データを用いてコストを計算し、経路の中間地域では、より粗い地図データで概略的に計算し、両方の結果を統合して案内経路として出力する方法である。このような階層別探索手法によれば、出発地と目的地との間が遠距離の場合、中間経路を粗い地図データを使用して経路探索できるため、全経路を詳細な地図データで探索する場合に比べて、全体として経路探索に要する時間を短縮することができる。
【０００４】
また、経路探索を行った下位階層の地図データにおいて最短コスト経路が確定した場合には、その時点で経路探索を終了し、経路探索の対象となる上位階層の地図データに対して経路探索を行うことなく、より短時間で最適経路を得る手法もある（特許文献２）。例えば、図１３（ａ）において、詳細な地図データを有する階層１において出発地側、目的地側の所定領域内をそれぞれ探索し、出発地側の領域においては探索コスト最小の境界ノードＳＮ１１、目的地側の領域においては探索コスト最小の境界ノードＤＮ１１が探索されると、これら境界ノードに該当する階層２のノードＳＮ２１、ＤＮ２１に移行し、階層２で経路探索を行う。階層２の重なり部分において出発地側からの経路と目的地側からの経路がつながると、この経路Ｐ１を最適経路とする。
【特許文献１】特開平２−５６５９１号公報
【特許文献１】特開平１１−２５７９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の経路探索手法では、階層化された地図データと経路探索アルゴリズムを組み合わせる場合、経路探索の所要時間を短縮化するアルゴリズムが、経路探索で得られた経路Ｐ１の品質についても最適経路であることを保障するものではない。例えば、図１３（ｂ）において、階層１では所定領域の境界到達コストが最小でない出発地側境界ノードＳＮ１２、目的地側境界ノードＤＮ１２が存在し、これら境界ノードに対応する階層２におけるノードＳＮ２２、ＤＮ２２を起点とする探索で階層２の出発地側、目的地側の所定領域における境界到達コストが最小のノードＳＮ２３、ＤＮ２３が探索され、ノードＳＮ２３、ＤＮ２３に対応する階層３のノードＳＮ３１、ＤＮ３１を起点とする探索で経路Ｐ２が探索され、経路Ｐ２の探索コストが経路Ｐ１の探索コストより小さい可能性がある。経路Ｐ２の探索コストの方が小さければ、経路Ｐ１より品質について最適経路であることになる。すなわち、階層構造を有する地図データを使用して出発地と目的地とをつなぐ経路をできるだけ迅速に見つけるだけでは、例えば、曲がりくねった山道等を含む経路が探索される可能性があり、最小の探索コストの経路、即ち最短時間で品質が最適な経路を探索できるとは限らない。
【０００６】
しかしながら、階層別探索手法で高品質な経路探索を可能にするためには地図データの階層数を増やす必要がある。例えば、図１４に示すように、全ての道路データを有する詳細地図データからなる階層１、一般道路以上の道路データからなる階層２、県道以上の道路データからなる階層３、高速道路データのみ有する階層４のように、地図データの階層数を増やして出発地側、目的地側から経路探索することで非常に高品質な経路の探索が可能となるが、地図データの容量が大きくなり、ＳＤカードのような小型の記憶媒体には、地図データの全てが収まりきらなくなってしまうという問題がある。
【課題を解決するための手段】
【０００７】
本発明は上記課題を解決しようとするもので、階層別探索手法において地図データの容量を少なくするとともに、経路探索で得られる経路の品質を維持しつつ経路探索の所要時間を短縮化することを目的とする。
本発明は、出発地から目的地まで経路探索するナビゲーション装置において、少なくとも１つの階層の地図データを除いた階層構造を有する地図データを格納した情報記憶手段と、前記情報記憶手段から階層構造の地図データを読み出し、出発地側、目的地側それぞれ所定領域内を経路探索し、探索領域の重なった範囲で最短コスト経路を取得する経路探索手段と、経路探索手段の探索を制御する制御手段とを備え、前記経路探索手段は、直近の上位階層の地図データが存在しない階層の探索において前記所定領域を上位階層の探索領域に拡張して探索し、前記制御手段は、取得した最短コスト経路のコストより上位階層まで探索して取得した最短コスト経路のコストが小さいとき、最短コスト経路のコストを更新することを特徴とする。
また、本発明は、道路に関する情報を記憶した情報記憶手段と、前記情報記憶手段に記憶された道路情報に基づいて、目的地までの経路を探索する経路探索手段と、前記経路探索手段により探索された経路の品質を判定し経路探索処理を制御する制御手段とを有し、前記道路情報は、少なくとも１つの階層を除いた詳細度の異なる複数階層のデータレベルで構成され、前記経路探索手段は、出発地側・目的地側の所定領域の範囲を詳細なデータで探索し、直近の上位階層のデータが存在しない階層の探索において前記所定領域を前記上位階層の探索領域に拡張して探索した後、上位の階層のデータレベルへ移行して経路探索を継続し、前記制御手段は、出発地と目的地の間で経路がつながったとき、上位の階層のデータレベルで探索された経路と下位階層のデータレベルで探索された経路とのコストを比較し、下位階層のデータレベルで探索された経路のコストが、上位階層のデータレベルで探索された経路のコストより低いと判断したとき、経路探索処理を終了することを特徴とする。
また、本発明は、出発地から目的地まで経路探索するナビゲーション装置を制御すプログラムにおいて、情報記憶手段から少なくとも１つの階層の地図データを除いた階層構造を有する地図データを読み出すステップ、出発地側、目的地側それぞれ所定領域内を経路探索し、直近の上位階層の地図データが存在しない階層の探索において前記所定領域を前記上位階層の探索領域に拡張して探索し、探索領域の重なった範囲で最短コスト経路を取得するステップ、取得した最短コスト経路のコストより上位階層まで探索して取得した最短コスト経路のコストが小さいとき、最短コスト経路のコストを更新するステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００８】
本発明は、階層化された地図データのうちのある階層を除くことで地図データの容量を削減し、かつ経路探索で得られる経路の品質を維持しつつ経路探索の所要時間を短縮化することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について説明する。
図１は本実施形態に係るナビゲーション装置の例を示すブロック図である。出発地や目的地の情報を入力するキーボード、マウス、タッチパネル、操作キー等からなる入力装置１、現在位置に関する情報を検出する現在位置検出装置２、階層構造を有する地図データであって、少なくとも一つの階層の地図データを除いてデータ容量を削減した地図データ、交差点データ、経路の探索に必要なナビゲーション用データ、経路案内に必要な表示／音声の案内データ、さらに地図の表示、経路探索、音声案内等の案内を行うためのプログラム（アプリケーション及び／又はＯＳ）等を記憶した情報記憶装置３、階層構造を有する地図データを読み出し、出発地側、目的地側それぞれ所定領域内を経路探索し、探索領域の重なった範囲で最短コスト経路を取得する経路探索手段４ａ、経路探索手段により探索された経路の品質をコストの比較により判定し、経路探索手段による探索処理を制御する制御手段４ｂを備え、ナビゲータ処理手段として地図の表示処理、経路案内に必要な表示／音声案内処理、さらにシステム全体の制御を行う中央処理装置４、車両の走行に関する情報である、例えば道路情報、交通情報を送受信したり、車両の現在位置に関する情報を検出したり、さらに現在位置に関する情報を送受信したりする情報送受信装置５、経路案内に関する情報を出力するディスプレイやスピーカその他の出力装置６から構成されている。
【００１０】
図２は本実施形態の階層構造の地図データの例を説明する図である。
本実施形態の階層構造を持つ地図データは、少なくとも一つの階層の地図データを除いてデータ容量を削減したデータ構造をしており、図示の例は４階層構造で、階層２のデータが省略されている。階層１は、全ての道路データを有する詳細地図データを有しており、一般道路以上の道路データからなる階層２は除かれている。階層３は県道以上の道路データ、階層４は高速道路データのみ有している。階層２については、ブロック毎の探索用領域については定義されているものの、道路データは存在せず、そのことはデータフォーマット上で定義されていて、中央処理装置４では、経路探索に際して、探索領域の取得については階層２のデータを利用するが、道路データがないことは分かっているので中身のデータの取得処理は行わない。なお、地図データ容量を削減するためには、詳細な道路データを有しているデータ容量の大きい下位階層の地図データを除くのが効果的であるが、一方で全道路データは持っている必要がある。かかる観点から本実施形態では最下位階層より一段上の階層である階層２の地図データを省略している。階層１が全道路データを有しているので、他の階層すべてを省略して階層１のデータのみを用いて経路探索することも可能であるが、それでは探索時間や探索経路の品質に影響が生ずる。従って、データ容量を削減するためには階層構造にもよるが、最下位階層より上であってできるだけ下位に属する階層の地図データを除くのが望ましい。
【００１１】
図３は本実施形態の経路探索、コスト付け処理についての概略を説明する図である。
ここでは、階層２の地図データを省略した４階層構造の地図データを用いる場合の処理手順を示している。階層構造を持つ地図データは、各階層とも所定領域（データ量の多い地域ほど狭い）の複数ブロックから構成され、下位階層は全ての道路データを有する詳細地図データ、上位の階層ほど主要な道路データのみ有する広域の地図データから構成されている。まず、階層１の詳細な地図データを用いて出発地側、目的地側の所定領域についてそれぞれ経路探索するが、階層２のデータが除かれているため階層２の範囲を階層１でカバーして探索する。本来、階層１で探索する領域は狭いが、階層２で探索する範囲まで領域を拡張して探索し（ステップＳ１、Ｓ２）、各領域の境界ノードのコストを求めて保持し、これら両領域で探索した経路に重なりがあれば最短コスト経路としてそのコストを求める（ステップＳ３）（図の星印はコストを保持していることを示す）。なお、階層２には地図データはないが、領域については定義されているので階層１の探索結果を階層２の領域に適用する。次いで、階層１の探索で到達した各領域の境界ノードに対応する階層３のノードを取得し（ステップＳ４、Ｓ５）、これら各ノードを起点として所定領域の経路探索を行って各ノードの到達コストを保持し（ステップＳ６、Ｓ７）、階層３の出発地側、目的地側の領域で探索した経路に重なりがあり、つながった経路のコストが階層１で取得した最短コスト経路のコストより小さければ、最短コスト経路のコストを更新する（ステップＳ８）。このように、各階層で出発地側、目的地側の領域で探索し、両領域で探索した経路の重なりがあり、つながった経路のコストが下位階層で取得した最短コスト経路のコストより小さければ、最短コスト経路のコストを更新し、最上位階層４へ移行する（ステップＳ９、Ｓ１０）。最上位階層４では必ず経路はつながる筈なので、目的地側から探索を行い（ステップＳ１１）、最上位階層４で得られた経路のコストがそれより下位階層での最短コスト経路のコストより小さければ最短コスト経路のコストを更新する（ステップＳ１２）。このように最短コストの経路が求まるまで各階層での探索を継続することにより取得した経路の品質（コスト）を保持する。また、各階層においてノードの到達コストが最短コスト経路のコストより大きい場合には、以降のノードに対してはコスト付けを行わないとともに、上位階層へ移行する場合には、出発地側と目的地側の境界ノードの中で最小到達コストの和が最短コスト経路のコストより大きい場合には経路探索を終了する（詳細は後述）ことで探索時間が長くなるのを防止する。こうして、地図データの容量を削減しつつ、探索経路の品質の保持と探索時間の短縮を図ることができる。
【００１２】
図４は階層１の探索領域を階層２の探索領域まで拡張する場合の説明図である。
上記したように、階層２の地図データは除かれているが、探索領域については定義されているので、これを利用して階層１の探索において階層２で探索する範囲まで領域を広げて探索する。図示の例で、領域Ａが階層１で定義されている探索領域（探索コア領域）とすると、まず、探索コア領域の探索を行ってその境界ノードＮｄ１、Ｎｄ２、Ｎｄ３、Ｎｄ４のコスト（境界までのコスト）を取得し、境界までのコストが最小となる方向に優先的に探索領域を拡張していく。例えば、Ｎｄ１のコストが最小であるとすると、Ｎｄ１を起点として隣接する領域、この例では領域Ｄへ優先的に探索領域を拡張していく。次いで、Ａ、Ｄを合わせた領域を１つの領域とみて、この領域の境界までのコストが最小となる方向、例えば、図示の例で、Ｎｄ３のコストが最小であれば領域Ｂへ優先的に探索領域を拡張し、以後、同様に順次探索領域を拡張していく。こうして、階層２で探索すべき範囲まで探索領域を拡げてその領域の境界ノードとコストを求める。
【００１３】
図５は図２に示したような階層２の地図データを省略した階層構造の地図データを用いた場合の経路探索処理の全体フローを説明する図である。
まず、出発地側の探索開始地点と目的地側の探索開始地点を設定する（ステップＳ１０１）。これらの地点は、例えば、図６に示すように、出発地Ｓに直近の探索対象道路上のノードＳＮ１（図６（ａ））、目的地Ｄに直近の探索対象道路上のノードＤＮ１（図６（ｂ））として設定される。次いで、出発地側／目的地側の探索において探索階層を最下位層とし（ステップＳ１０２）、出発地側、目的地側の一定領域内をダイクストラ法を用いて探索する（ステップＳ１０３、１０４）。図４で説明したように、階層１の出発地側と目的地側の一定領域（探索コア領域）内をダイクストラ法を用いて探索する。道路には、高速道路、有料道路、国道、主要地方道、県道、細街路等の道路種別や、右左折禁止、一方通行等の交通規制の有無、リンク長、道路の幅員、車線数等によって、それぞれ、リンク又はリンク間（ノード）に各種のコストが設定されており、ダイクストラ法により出発地から目的地までの経路を探索してこれらコストを加算していき最短コストの経路を求める（詳細は後述）。ステップＳ１０３、１０４の探索で出発地側探索領域と目的地側探索領域が重なるか否か判断し（ステップＳ１０５）、重なる場合には、探索領域の重なった範囲で最短コスト経路を算出する（ステップＳ１０６）。
【００１４】
次いで、最短コスト経路が既に求められていて、そのコストが保存されているか否か判断し（ステップＳ１０７）、保存されている場合は、新たに算出された最短コスト経路のコストが、保存されている最短コスト経路のコストより低いか否か判断する（ステップＳ１０８）。ステップＳ１０７で最短コスト経路が保存されていない場合、ステップＳ１０８で新たに算出された最短コスト経路のコストの方が小さい場合は、最短コスト経路のコストを更新する（ステップＳ１０９）。ステップＳ１０５で出発地側探索領域と目的地側探索領域が重ならない場合、ステップＳ１０８で新たに算出された最短コスト経路のコストの方が保持されている最短コストより大きい場合は、経路探索終了判定（詳細は後述）を行う（ステップＳ１１０）。この判定で経路探索終了と判定されたか否か判断し（ステップＳ１１１）、終了と判定されなかった場合は、直近の上位階層が存在するか否か判断する（ステップＳ１１２）。階層１では直近の上位階層（階層２）が存在しないので、現階層（階層１）の上位階層（階層２）に相当する領域に拡張して探索する（ステップＳ１１３）（詳細は後述）。次いで、ステップＳ１１３における探索の中で経路探索終了と判定されたか否か判断し（ステップＳ１１４）、経路探索終了と判定されていない場合、上位階層へのコスト付け（詳細は後述）を行い（ステップＳ１１５）、出発地側／目的地側の探索の探索階層を上位階層とする（ステップＳ１１６）。次いで、この上位階層が最上位階層か否か判断し（ステップＳ１１７）、最上位階層でない場合は、ステップＳ１０３に戻って出発地側から同様に探索処理を繰り返し、最上位階層である場合は、ステップＳ１０４に戻って目的地側から同様に探索処理を繰り返す。ステップＳ１１１、ステップＳ１１４で経路探索終了と判定された場合、経路が求められたか否か判断し（ステップＳ１１８）、経路が求められていない場合は経路探索失敗とし（ステップＳ１２０）、経路が求められている場合は経路探索結果から経路を構成（ステップＳ１１７）して経路探索処理を終了する。
【００１５】
図７はダイクストラ法を用いた探索処理フローを示す図である。
探索対象の階層の出発地側／目的地側の一定領域内でコスト付け対象ノードを検索し（ステップＳ２０１）、コスト付け対象の全てのノードにコスト付けが行われたか否か判断し（ステップＳ２０２）、対象ノード全てにコスト付けが行われていない場合、コスト付け対象ノードの到達コストを取得する（ステップＳ２０３）。例えば、図８（黒丸は探索対象領域におけるコスト付け対象ノードを示す）において、コスト付け対象ノードＮ３が、ノードＮ１、Ｎ２を経由する経路上のノードでその到達コストとして３００を取得する。次いで、コスト付け対象ノードに接続する全てのリンクを取得し（ステップＳ２０４）、取得した全てのリンクで探索したか否か判断する（ステップＳ２０５）。全てのリンクで探索していない場合、コスト付け対象ノードの隣接ノードの到達コストを取得する（ステップＳ２０７）。図８の例で、コスト付け対象ノードＮ３の隣接ノードをＮ４とし、他のノードＮｍを経由してきた経路で隣接ノードＮ４に到達コスト５００が設定されていたとして、この値を取得する。次いで、リンクコスト／リンク間（ノード）コストをコスト付け対象ノードの到達コストに加算し（ステップＳ２０８）、加算したコストが最短コスト経路のコストを超えているか否か判断し（ステップＳ２０９）、超えていない場合はステップＳ２０８で求めたコストがステップＳ２０７で取得した隣接ノードの到達コストを超えているか否か判断する（ステップＳ２１０）。図８の例では、コスト付け対象ノードＮ３に加算するリンクのコストＬＣは１５０であり、これを加算すると隣接ノードＮ４の到達コストは４５０となる。一方、既に取得されている最短コスト経路のコストが７００であると仮定すると、コスト付け対象ノードＮ３にリンクコストＬＣを加算した隣接ノードＮ４のコストは４５０で最短コスト経路のコスト７００より小さく、さらに、隣接ノードＮ４に既に設定されている到達コスト５００より小さいので、隣接ノードＮ４の到達コストを４５０に登録更新して、ステップＳ２０５に戻り同様の処理を行う。
【００１６】
ステップＳ２０９においてステップＳ２０８で求めたコストが最短コスト経路のコストを超えている場合、ステップＳ２１０において、ステップＳ２０８で取得したコストが隣接ノードのコストを超えている場合は、既に設定されている隣接ノードの到達コストは維持されてステップＳ２０５に戻り同様の処理を行う。例えば、図８の例において、コスト付け対象ノードＮ３と隣接ノードＮ５間のリンクコストＬＣが５００とすると、隣接ノードＮ５の到達コストは８００となり、既に取得している最短コスト経路のコスト７００を超えてしまうため、それ以後のコスト付けは行わず、このノードにはコスト∞を設定してステップＳ２０５に戻る。他の隣接ノードＮ６についてみると、コスト付け対象ノードＮ３との間のリンクコストＬＣが１００で、これを加算すると到達コストは４００となり、このコストを設定する。このような処理を順次行い、ステップＳ２０５でコスト付け対象ノードに接続する全てのリンクで探索され、ステップＳ２０２で領域内対象ノード全てにコスト付けが行われると領域内探索処理は終了する。
【００１７】
図９は現階層を上位階層に相当する領域に拡張して探索処理するフローを説明する図である。
現階層の地図データからその上位階層に相当する範囲の複数探索領域を出発地側、目的地側について取得する（ステップＳ５０１）。これは、図３、図４の例で説明したように除かれた上位階層の探索領域をカバーするためである。図４の例では、図５の処理フローにおけるステップＳ１０３、１０４で探索コア領域（Ａ領域）は既に取り込んでいるのでステップＳ５０１では残りの３つの領域（Ｂ、Ｃ、Ｄ領域）を取得する。次いで、目的地側における探索対象の領域を選定する（ステップＳ５０２）。この処理は、図４の例の場合には、Ｂ、Ｃ、Ｄ領域の選択順序を選定する処理で、前述したように、探索コア領域の境界ノードのコストの小さい隣接領域の順に選定する。次いで、選定した領域についてダイクストラ法を用いた一定領域内探索を行い（ステップＳ５０３）、出発地側探索コア領域と目的地側探索領域が重なるか否か判断し（ステップＳ５０４）、重なる場合には探索領域の重なった範囲で最短コストの経路を算出する（ステップＳ５０５）。次いで、最短コスト経路のコストは既に保存されているか否か判断し（ステップＳ５０６）、保存されている場合には、新たに算出された最短コスト経路のコストは保存している最短コスト経路のコストより低いか否か判断し（ステップＳ５０７）、新たに算出された最短コスト経路のコストの方が低い場合、ステップＳ５０６において最短コスト経路コストが保存されていない場合には、最短コスト経路のコストを更新する（ステップＳ５０８）。ステップＳ５０４で出発地側探索コア領域と目的地側探索領域が重ならない場合、ステップＳ５０７において新たに算出された最短コスト経路のコストの方が保存されている最短コスト経路のコストより低くない場合には、経路探索終了判定を行う（ステップＳ５０９）（詳細は後述）。なお、最下位の階層であっても、出発地と目的地が同じ探索コア領域にある場合は経路探索終了経路探索は終了する。経路探索終了と判定されない場合には（ステップＳ５１０、ＮＯ）、目的地側複数探索領域全てにコスト付けしたか否か判断し（ステップＳ５１１）、複数探索領域全てにコスト付けしてない場合にはステップＳ５０２に戻って同様の処理を繰り返す。
【００１８】
ステップＳ５１１において複数探索領域全てにコスト付けした場合は、出発地側の探索対象の領域を選定する（ステップＳ５１２）。この処理は、ステップＳ５０２と同様に、図４の例の場合には、Ｂ、Ｃ、Ｄ領域の選択順序を選定する。次いで、選定した領域についてダイクストラ法を用いた一定領域内探索を行い（ステップＳ５１３）、出発地側探索領域と目的地側探索領域が重なるか否か判断し（ステップＳ５１４）、重なる場合には探索領域の重なった範囲で最短コストの経路を算出する（ステップＳ５１５）。次いで、最短コスト経路のコストは既に保存されているか否か判断し（ステップＳ５１６）、保存されている場合には、新たに算出された最短コスト経路のコストは保存している最短コスト経路のコストより低いか否か判断し（ステップＳ５１７）、新たに算出された最短コスト経路のコストの方が低い場合、ステップＳ５１６において最短コスト経路のコストが保存されていない場合には、最短コスト経路のコストを更新する（ステップＳ５１８）。ステップＳ５１４で出発地側探索領域と目的地側探索領域が重ならない場合、ステップＳ５１７において新たに算出された最短コスト経路のコストの方が保存されている最短コスト経路のコストより低くない場合には、経路探索終了の判定を行い（ステップＳ５１９）、経路探索終了と判定されない場合（ステップＳ５２０、ＮＯ）は、出発地側複数探索領域全てにコスト付けしたか否か判断し（ステップＳ５２１）、複数探索領域全てにコスト付けしてない場合にはステップＳ５１２に戻って同様の処理を繰り返す。ステップＳ５１０、ステップＳ５２０において経路探索終了と判定された場合には、現階層を上位階層に相当する領域に拡張しての探索を終了し、ステップＳ５２１において出発地側複数探索領域全てにコスト付けした場合には、経路探索を続行（図５のステップＳ１１４、ステップＳ１１５へと移行）する。
【００１９】
図１０は経路探索終了判定を説明する図である。
探索対象の階層が最上位階層か否か判断し（ステップＳ３０１）、最上位階層でない場合は、出発地側上位移行ノード（領域境界ノード）の中で最小到達コストノードを検索し（ステップＳ３０２）、出発地側上位移行ノードの１つでも到達コストが設定されているか否か判断する（ステップＳ３０３）。次いで、目的地側上位移行ノード（領域境界ノード）の中で最小到達コストノードを検索し（ステップＳ３０４）、目的地側上位移行ノードの１つでも到達コストが設定されているか否か判断する（ステップＳ３０５）。出発地側、目的地側とも上位移行ノードが設定されている場合、出発地側／目的地側それぞれの上位移行ノードの中での最小コストの合計が最短コスト経路のコストより小さいか否か判断し（ステップＳ３０６）、各上位移行ノード最小コストの合計が最短コスト経路のコストより小さいときには、経路探索を続行する。ステップＳ３０３、ステップＳ３０５で到達コストが設定されていない場合は上位階層へ移行しての探索は行わず、ステップＳ３０６で出発地側／目的地側それぞれの上位移行ノード最小コストの合計が最短コスト経路のコストより大きい場合には、上位階層で探索しても最短コスト経路は存在しないので経路探索を終了する（ステップＳ３０８）。
【００２０】
次に、図１１、図１２により上位階層へのコスト付け処理を説明する。
図１１は上位階層へのコスト付け処理フローを示す図、図１２は上位階層へのコスト付けの例を示す図である。
図１１において、探索した階層の一定領域内に存在する全ノードを取得する（ステップＳ４０１）。探索した階層はダイクストラ法で一定領域内の全ノードに対してのコスト付けは完了している。これら全ノードに対して上位階層へのコスト付け判定が終了したか否か判断し（ステップＳ４０２）、終了してない場合、着目している該当ノードは探索した階層の一定領域内の境界に存在するノードか否か判断し（ステップＳ４０３）、境界ノードでない場合はステップＳ４０２に戻り処理を継続する。この処理は上位階層に上げるノードは境界ノードだけとする処理である。ついで、境界ノードである場合は、該当ノードが上位階層の一定領域内（境界を含む）に存在するか否か判断し（ステップＳ４０４）、上位階層の一定領域内（境界を含む）に存在しない場合は探索の継続ができないのでステップＳ４０２に戻って、処理を継続する。該当ノードが境界ノードであり、かつ該当ノードが上位階層に存在する場合は、該当ノードに接続する全てのリンクを取得し（ステップＳ４０５）、該当ノードに接続する全てのリンクで探索したか否か判断する（ステップＳ４０６）。境界ノードに接続する全リンクでの探索は、探索階層での最短コスト経路の探索処理であり、上位階層へコスト付けする処理の段階において、探索階層での最短コスト経路の取得処理を並行して行っている。例えば、図１２において、探索階層での探索処理により、出発地側の５つの境界ノードのコストが、それぞれ２００、４００、８００、１１００、１４００であり、目的地側の５つの境界ノードのコストが３００、５００、７００、１１００、１２００であるものとすると、これらのノードを上位階層にそのまま上げるとともに、探索階層での５つの境界ノード間を経路探索して上位階層へのコスト付けと並行して最短コスト経路を探索する。
【００２１】
ステップＳ４０６で全てのリンクでの探索が終了していない場合、該当ノードの到達コストを取得し（ステップＳ４０７）、該当ノードの上位階層ノードに接続する全てのリンクを取得する（ステップＳ４０８）。次いで、該当ノードの上位階層ノードに接続する全てのリンクで探索したか否か判断し（ステップＳ４０９）、全てのリンクで探索していない場合、該当ノードの上位階層ノードの隣接ノードを取得し（ステップＳ４１０）、その到達コストを取得する（ステップＳ４１１）。次いで、該当ノードと隣接ノード間のリンクコスト／リンク間（ノード）コストをステップＳ４０７で取得した該当ノードの到達コストに加算し、加算したコストがこの段階で取得されている最短コスト経路のコストを超えるか否か判断する（ステップＳ４１３）。超えていない場合は加算したコストが該当ノードの上位階層ノードの隣接ノードの到達コストを超えるか否か判断し（ステップＳ４１４）、いずれも超えていない場合は該当ノードの上位階層ノードの隣接ノードの到達コストを登録更新して、ステップＳ４０９に戻って同様の処理を継続する。例えば、図１２の出発地側の領域において、コスト４００のノードＭ１に着目し、ノードＭ１の隣接ノードＭ２との間のリンクコストＬＣが１００とすると、ノードＭ１のコスト４００にリンクコスト１００を加算して隣接ノードＭ２の到達コスト５００を取得する。この段階で取得されている最短コスト経路のコストが１０００であるとすると、隣接ノードＭ２の到達コストは最短コスト経路のコストより小さい。また、他経路からの探索で隣接ノードＭ２に到達コスト６００が設定されていたと仮定すると、ノードＭ１からの探索で取得した隣接ノードＭ２の到達コストはそれより小さいので、隣接ノードＭ２の到達コストを６００から５００に登録更新する。こうして順次コスト付けを行って、上位階層の領域の境界ノードＭ３のコスト８００を取得する。
【００２２】
ステップＳ４１３において、ステップＳ４１２で算出したコスト（該当ノードの到達コストにリンクコスト／リンク間（ノード）コストを加算したコスト）が最短コスト経路のコストを超える場合は、それ以上のコスト付けは行わず、ステップＳ４０９に戻って同様の処理を継続する。例えば、図１２の出発地側領域において、到達コスト８００のノードＭ４に着目し、その隣接ノードＭ５との間のリンクＬＣのコストが２５０であるとすると、隣接ノードＭ５の到達コストは１０５０となって最短コスト経路のコスト１０００を超えてしまうので、これ以降のノード付けは行わず、ノードＭ５に対してはコスト∞を設定する。また、ノードＭ６、ノードＭ７は上位階層への移行時は最短コスト経路のコスト１０００が分かっていなかったため、それぞれコスト１１００、１４００に設定されているが、これらのノードに接続するどのノードも到達コストが最短コスト経路コストを超えるので同様にこれ以降のノード付けは行わず、それらのノードに対してはコスト∞を設定する。また、ステップＳ４１４において、ステップＳ４１２で算出したコストが隣接ノードの到達コストを超える場合もコストの登録はせずにステップＳ４０９に戻って同様の処理を継続する。こうして、ステップＳ４０９で上位階層ノードに接続する全てのリンクでの探索が終了し、ステップＳ４０２で探索階層での全ノードに対して上位階層へのコスト付け判定で終了と判定されると、上位階層へのコスト付けが終了する。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係るナビゲーション装置の例を示すブロック図である。
【図２】本実施形態の階層構造の地図データの例を説明する図である。
【図３】経路探索、コスト付け処理についての概略を説明する図である。
【図４】階層１の探索領域を階層２の探索領域まで拡張する場合の説明図である。
【図５】本実施形態の経路探索処理の全体フローを説明する図である。
【図６】出発地側、目的地側の探索開始地点を説明する図である。
【図７】ダイクストラ法を用いた探索処理フローを示す図である。
【図８】探索階層におけるノードのコスト付けを説明する図である。
【図９】現階層を上位階層に相当する領域に拡張して探索処理するフローを説明する図である。
【図１０】経路探索終了判定を説明する図である。
【図１１】上位階層へのコスト付け処理フローを示す図である。
【図１２】上位階層へのコスト付けを説明する図である。
【図１３】階層構造を有する地図データを用いた経路探索を説明する図である。
【図１４】階層数を増やした地図データを説明する図である。
【符号の説明】
【００２４】
１…入力装置、２…現在位置検出装置、３…情報記憶装置、４…中央処理装置、４ａ…経路探索手段、４ｂ…制御手段、５…情報送受信装置、６…出力装置。
【図１】
2010096603.tif 000003
【図２】
2010096603.tif 000004
【図３】
2010096603.tif 000005
【図４】
2010096603.tif 000006
【図５】
2010096603.tif 000007
【図６】
2010096603.tif 000008
【図７】
2010096603.tif 000009
【図８】
2010096603.tif 000010
【図９】
2010096603.tif 000011
【図１０】
2010096603.tif 000012
【図１１】
2010096603.tif 000013
【図１２】
2010096603.tif 000014
【図１３】
2010096603.tif 000015
【図１４】
2010096603.tif 000016