(57)【特許請求の範囲】
【請求項１】
経路探索装置であって、
通路データを記憶する通路データ記憶部と、
出発地および目的地の指定を入力する入力部と、
前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する経路探索部とを備え、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記経路探索部は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する下位層探索部と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う遷移部と、
前記上位層データにおいて、遷移ノード間で経路を探索する上位層探索部とを備える経路探索装置。
【請求項２】
請求項１記載の経路探索装置であって、
前記遷移部は、前記候補経路の始点に近いノードと、前記候補経路の末端に近いノードとを混在して選択する経路探索装置。
【請求項３】
請求項２記載の経路探索装置であって、
前記下位層探索部は、枝状に分岐させながら前記候補経路を探索し、
前記遷移部は、前記候補経路の末端に近い前記ノードとして、前記末端に最も近いノードから１以上の分岐を遡った範囲で、前記末端に近い遷移ノードを前記選択結果に含める経路探索装置。
【請求項４】
請求項１〜３いずれか記載の経路探索装置であって、
前記下位層探索部は、前記ノードおよびリンクの少なくとも一方に対応づけられたコストに基づいて前記探索を行い、
前記遷移部は、前記候補経路上の各遷移ノードに至るまでの総コストと、該遷移ノードから前記目標点までの距離に応じて設定される予測コストとに基づいて、前記選択を行う経路探索装置。
【請求項５】
コンピュータによって経路を探索する経路探索方法であって、
（ａ）  通路データを記憶する工程と、
（ｂ）  出発地および目的地の指定を入力する工程と、
（ｃ）  前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する工程とを備え、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記工程（ｃ）は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する工程と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う工程と、
前記上位層データにおいて、遷移ノード間で経路を探索する工程とを備える経路探索方法。
【請求項６】
コンピュータによって経路探索を行わせるためのコンピュータプログラムであって、
（ａ）  通路データを記憶する機能と、
（ｂ）  出発地および目的地の指定を入力する機能と、
（ｃ）  前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する機能とを実現し、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記機能（ｃ）は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する機能と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う機能と、
前記上位層データにおいて、遷移ノード間で経路を探索する機能とを実現するためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、道路の種別等に基づいて階層的に構成された通路データを用いて、経路探索を行う方法に関する。
【０００２】
【従来の技術】
出発地から目的地までの経路探索は、カーナビゲーションにおいて、広く行われている。経路探索に用いられる道路データは、道路をリンクで表現し、交差点などリンクの接続部分をノードで表すことにより、道路のつながり具合を表現する。経路は、いわゆるダイクストラ法で探索されることが多い。ダイクストラ法とは、道路データにおいて、ノードまたはリンクに対応づけられたコストが最小となるよう経路を決定する方法を言う。
【０００３】
ダイクストラ法では、出発地と目的地との間で通行可能な全ての経路についてコストの評価を行うため、両者の距離が離れた場合には、経路探索に長時間を要する。かかる課題を解決するための方法として、道路データを階層的に構成する技術が提案されている（例えば、特開平７−２７５６８記載の技術）。この技術では、ほぼ全ての道路を網羅した下位層のデータベースと、国道や高速道路など主要な道路のみを含む上位層のデータベースとを併用して経路探索を行う。即ち、出発地と目的地の距離が離れている場合には、出発地および目的地の近傍で上位層の道路に遷移可能な経路を探索し、その後は、上位層のデータベースを用いて経路探索を行う。
【０００４】
【発明が解決しようとする課題】
しかし、階層構造を有する道路データを用いた経路探索方法では、下位層から上位層に遷移する場所によって、不適切な経路が探索される場合があった。
【０００５】
図１は遠回りの経路が探索される例を示す説明図である。下位層のデータベースを「Ｌｅｖｅｌ０」、上位層のデータベースを「Ｌｅｖｅｌ１」として表した。上位層のデータベースＬｅｖｅｌ１は、下位層のデータベースＬｅｖｅｌ０において二重線で示した主要な道路のみを含んでいる。説明の便宜上、各ノードにＮ１〜Ｎ１０の名称を付した。ノードＮ１が出発地、ノードＮ４が目的地である場合を考える。
【０００６】
従来の経路探索方法では、出発地から「Ｎ１→Ｎ２→Ｎ６」と進み、出発地近傍のノードＮ６でＬｅｖｅｌ１に遷移する。目的地からも逆探索を行い、「Ｎ４→Ｎ９」と進んで、目的地近傍のノードＮ９でＬｅｖｅｌ１に遷移する。その後は、上位層でノード「Ｎ６→Ｎ８→Ｎ９」なる経路が探索される。
【０００７】
この結果、得られた経路を図中の下部に平面で示した。図中に破線の矢印で示す通り、出発地Ｎ１から目的地Ｎ４に至る直線経路「Ｎ１→Ｎ２→Ｎ３→Ｎ４」が存在するにも関わらず、実線矢印で示した遠回りの経路が探索結果として得られる。これは、出発地近傍で上位層に遷移させることにより生じる不合理な経路である。
【０００８】
図２は、図１に示したような遠回り経路は探索されないものの、逆戻りを含む経路が探索される例を示す説明図である。図１と同様の形式で表した。ノードＮ１１が出発地、ノードＮ２１が目的地である場合を考える。
【０００９】
ここでは、出発地から一定の距離以上離れたノードで上位層に遷移させるものとする。かかる場合には、出発地から「Ｎ１１→Ｎ１２→Ｎ１３→Ｎ１４→Ｎ１５」と進み、ノードＮ１５で上位層に遷移する。目的地からも逆探索を行い、「Ｎ２１→Ｎ２２→Ｎ２３→Ｎ２４→Ｎ２５」と進み、ノードＮ２５で上位層に遷移する。その後は、上位層でノード「Ｎ１５→Ｎ２３→Ｎ２５」なる経路が探索される。
【００１０】
この結果、得られた経路を図中の下部に平面で示した。図示する通り、出発地Ｎ１１から目的地Ｎ２１に至る経路には、ノードＮ２３とノードＮ２５の間で、逆戻りする部分が含まれる。このように、出発地から一定の距離だけ離れた部分で遷移させた場合にも不合理な経路が得られることがある。
【００１１】
従来、階層構造の道路データを用いて経路探索を行う場合において、階層を遷移させるノードの決定方法については、検討の余地が残されていた。本願は、かかる課題に鑑み、階層構造のデータベースを用いた経路探索において、不合理な探索結果を回避するよう階層を遷移させる技術を提供することを目的とする。
【００１２】
【課題を解決するための手段およびその作用・効果】
本発明の経路探索装置は、通路データ記憶部、入力部、経路探索部を備える。通路データ記憶部は、下位層データと上位層データとからなる階層構造のデータを記憶する。下位層データとは、ノードとリンクにより種々の通路を記憶したデータである。上位層データとは、下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶したデータである。異なる階層間で移行可能なノードは、遷移ノードとして定義されている。通路データは、３層以上の階層構造としてもよい。通路データ記憶部は、通路データ全体を記憶するものとしてもよいし、外部記憶装置から経路探索に必要な領域を切り出し、一時的に記憶するものとしてもよい。
【００１３】
入力部は、出発地および目的地の指定を入力し、経路探索部は、通路データを利用して出発地と目的地とを結ぶ経路を探索する。
【００１４】
経路探索部は、下位層探索部、遷移部、上位層探索部を備える。下位層探索部は、出発地および目的地の少なくとも一方を始点とし、他方を目標点として下位層データを用いて途中まで候補経路を探索する。下位層探索部では、出発地を始点とし目的地に向けた順方向の探索と、目的地を始点とし出発地に向けた逆方向の探索とが行われる。いずれか一方のみを行うものとしてもよい。「途中」とは、始点からの距離、候補経路の探索処理の回数などをパラメータとして、目的地までの経路が得られていなくても探索処理をうち切ることを意味する。
【００１５】
遷移部は、候補経路上の遷移ノードの少なくとも一部を、複数の基準で選択して、上位層データへの遷移を行う。下位層探索部のみで出発地から目的地に至る経路が得られている場合には、遷移は必要ない。遷移部は、かかる経路が得られない場合に、遷移を行う。遷移部は、複数の基準で遷移ノードを選択する。複数の遷移ノードを選択するものしてもよいし、単一の遷移ノードを選択するものとしてもよい。
【００１６】
上位層探索部は、上位層データにおいて、遷移ノード間で経路を探索する。上位層データでの探索結果と下位層での探索結果を統合することにより、出発地から目的地までの経路を得ることができる。
【００１７】
従来技術として図１および図２で例示した不合理な経路は、「出発地近傍のノード」など単一の基準で遷移ノードを選択したことが原因となって生じる。本発明では、複数の基準で遷移ノードを選択するため、かかる不合理な経路の出現を抑制することができる。また、上位層への遷移を行うことにより、出発地と目的地とが遠距離にある場合の経路探索を高速化することができる。
【００１８】
本発明の経路探索装置において、遷移部は、候補経路の始点に近いノードと、端点に近いノードとを混在して選択するものとしてもよい。こうすることにより、始点に近いノードを選択することにより生じる遠回り経路（図１参照）、端点に近いノードを選択することにより生じる逆戻り経路（図２参照）を効果的に回避することが可能となる。
【００１９】
本発明において、下位層探索部は、枝状に分岐させながら候補経路を探索する場合には、遷移部は、候補経路の端点から１以上の分岐を遡った範囲で、端点に近い遷移ノードを選択結果に含めることが望ましい。仮に、候補経路の端点近傍で遷移ノードを選択すると、大部分が重複した候補経路上の遷移ノードが多数選択される可能性がある。端点から１以上の分岐を遡った範囲で遷移ノードを選択することにより、このように実質的に同等の経路を回避しながら、幅広い範囲で遷移ノードを選択することができる。
【００２０】
本発明において、下位層探索部は、ノードおよびリンクの少なくとも一方に対応づけられたコストに基づいて探索を行う方法を用いることができる。かかる場合には、遷移部は、候補経路上の各遷移ノードに至るまでの総コストと、遷移ノードから目標点までの距離に応じて設定される予測コストとに基づいて、選択するものとしてもよい。予測コストは、例えば、遷移ノードから目標点までの距離に所定の重み計数を乗じることにより設定することができる。例えば、総コストと、予測コストとの和が小さい遷移ノードを選択する方法を採ることができる。
【００２１】
総コストと予測コストは、遷移部が遷移ノードを選択するために適用する複数の基準の一部に過ぎない。遷移部は、例えば、始点近傍、端点近傍などの複数の基準で遷移ノードを選択した中から、絞り込みをかけるために、総コストと予測コストを用いた評価を適用することができる。この際、複数の基準で選択された遷移ノード全体を評価して絞り込みを行っても良いし、各基準ごとに個別に評価して絞り込みを行っても良い。
【００２２】
本発明における経路探索装置は、いわゆるナビゲーションシステムなど単体で経路探索および探索結果の表示を行う装置として構成することができる。また、経路探索を行う機能と、探索結果を表示する機能とを別体の装置として構成してもよい。かかる態様として、例えば、ネットワーク上のサーバで経路探索を行い、同じくネットワークに接続された表示装置に探索結果を表示させる態様を採ることもできる。この構成においては、経路を探索するためのサーバが本発明における経路探索装置に相当する。
【００２３】
本発明において下位層探索部および上位層探索部が実行する経路探索の手法は問わないが、例えば、ダイクストラ法を用いることができる。
【００２４】
本発明は、種々の態様で構成可能である。コンピュータを用いて経路探索を行う経路探索方法として構成してもよいし、経路探索装置の機能をコンピュータによって実現するプログラムとして構成してもよい。また、これらのプログラムを記録した記録媒体として構成してもよい。なお、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【００２５】
【発明の実施の形態】
本発明の実施の形態について、以下の順序で説明する。
Ａ．システム構成：
Ｂ．データ構造：
Ｃ．ダイクストラ法による経路探索：
Ｄ．経路探索処理：
Ｄ１．上層遷移処理：
Ｅ．効果：
Ｆ．変形例：
【００２６】
Ａ．システム構成：
図３は実施例としてのナビゲーションシステムの構成を示す説明図である。本実施例のシステムは、経路探索装置として機能するサーバ１００と、探索結果を表示する車載器２００とから構成される。
【００２７】
車載器２００は、車両に搭載され、運転者に現在の位置および目的地までの経路を表示するための装置である。車載器２００は、ＣＰＵおよびメモリを備えるマイクロコンピュータとして構成された制御ユニット２１０を備えている。制御ユニット２１０には、図示する各機能ブロックが、ソフトウェア的に構築されている。通信部２１２は、無線通信によりサーバ１００との間で情報の授受を行う。位置検出部２１８は、ＧＰＳなどの出力に基づき車両の現在位置を検出する。検出結果は、通信部２１２により、サーバ１００に転送される。コマンド入力部２１６は、車載器２００に設けられたボタン等の操作を入力する。例えば、目的地の設定は、コマンド入力部２１６によって入力されることになる。入力されたコマンドは、その内容に応じて、通信部２１２によりサーバ１００に転送される。表示制御部２１４は、車載器２００に表示される内容を制御する。地図データや経路の探索結果など、車載器２００で表示すべき内容については、通信部２１２によってサーバ１００から送信される。
【００２８】
サーバ１００は、車載器２００から受けた情報に基づいて経路探索を行い、その結果を送信する。サーバ１００には、ソフトウェア的に図示する各機能ブロックが構築されている。通信部１４０は、車載器２００との情報授受を行う。
【００２９】
地図データ記憶部１１０は、別途用意された地図データベース１５０を読み込み、経路探索に必要な部分を記憶する。本実施例では、地図データベース１５０は、サーバ１００とネットワークで接続された別体のサーバ内に構築するものとした。地図データベース１５０は、後述する通り、経路探索の対象となる全ての道路データを記憶した下位層データ１５４と、国道や高速道路などの主要な道路のみを記憶した上位層データ１５２とを有している。
【００３０】
出発地、目的地入力部１２０は、車載器２００から受信した情報に基づいて、経路探索に用いる出発地、目的地を設定する。本実施例では、車両の現在位置を出発地とするものとした。
【００３１】
経路探索部１３０は、地図データ記憶部１１０、出発地、目的地入力部１２０の情報に基づき、経路探索を実行する。経路探索の方法については、後で詳述する。探索結果は、通信部１４０を介して車載器２００に送信される。
【００３２】
ここでは、サーバ１００と車載器２００とからなるシステムを例示したが、サーバ１００の機能を車載器２００に組み込んでもよい。この場合、地図データベースは、通信で供給されるものとしてもよいし、ＤＶＤなどの記録媒体から車載器２００に搭載したドライブ装置で読み取るものとしてもよい。
【００３３】
Ｂ．データ構造：
図４は実施例としての地図データベースのデータ構造を示す説明図である。図１に示した経路を例にとって、データ構造を説明する。地図データベースには、車載器２００に地図を表示するための形状データも含まれているが、ここでは経路探索に必要となる道路データについてのみ示した。
【００３４】
道路データでは、道路は、リンクと呼ばれる線分によって表される。道路の交差点など、リンクの結合部分は、ノードと呼ばれる。本実施例のデータベースは、先に説明した通り、下位層データ１５４と上位層データ１５２を有する。下位層データ１５４は、経路探索の対象となる全てのリンク、ノードを含むデータである。図の例では、ノードN1〜Ｎ１０およびリンクＬ０１〜Ｌ０６等が下位層データ１５４に含まれる。リンクについては、図の煩雑化を回避するため、説明に必要な部分についてのみ符号を付した。
【００３５】
上位層データ１５２は、下位層データ１５４に含まれる道路のうち、主要な道路のみを含むデータである。本実施例では、２車線以上の国道および高速道路を上位層データ１５２に含めるものとした。上位層データ１５２に含める道路の種別は、任意に設定可能である。上位層データ１５２に存在するノードは、全て下位層データ１５４に含まれている。上位層データ１５２では、下位層データ１５４に含まれるノードの一部が間引かれた状態となっている関係から、リンクについては、下位層データ１５４とは個別に設定されている。
【００３６】
図の下方に、地図データベース１５０の構造を模式的に示した。本実施例では、下位層データ１５４と上位層データ１５２とを完全に別個のデータベースとして構築するのではなく、両者を融合した形でデータベースを構築した。
【００３７】
各ノードは、図示する通り、ノードの名称、緯度、経度、種別および結合リンクなどの組み合わせで記憶される。本実施例では、ノードについて３種類の種別を設定した。第１の種別は、「下位層」である。これは、下位層データ１５４にのみ属するノードを意味し、例えば、ノードＮ１が相当する。第２の種別は、「遷移ノードＴｒ」である。これは、上位層データ１５２および下位層データ１５４の双方に属するノードを意味し、例えば、ノードＮ６が相当する。第３の種別は、「境界ノードＥｄ」である。これは、地図データベースが管理する管理単位としての領域の境界に存在するノードを意味する。上方の図中において、下位層データ１５４、上位層データ１５２を囲む矩形領域が地図の管理単位に相当する場合には、ノードＮ１０が境界ノードに相当する。なお、本実施例では、境界ノードは、必ず、下位層データ１５４と上位層データ１５２に共通に存在させるものとした。従って、境界ノードは、遷移ノードの一態様と考えることができる。
【００３８】
結合リンクとは、各ノードに接続されているリンクを列挙したデータである。例えば、下位層データ１５４で図示する通り、ノードＮ１には、リンクＬ０１、Ｌ０２が結合されている。ノードＮ６には、下位層データ１５４においては、リンクＬ０３〜Ｌ０５、上位層データ１５２においては、リンクＬ１１〜Ｌ１３が結合されている。ノードＮ１０には、下位層データ１５４ではリンクｌ０６、上位層データ１５２ではリンクＬ１１が結合されている。
【００３９】
各リンクは、始点、終点、コストの組み合わせで記憶される。例えば、リンクＬ０１は、ノードＮ１を始点、ノードＮ２を終点としている。コストとは、経路探索で使用される各リンクの評価値に相当し、各リンクの距離、通行所用時間などに基づいて設定される値である。本実施例では、下位層データ１５４に含まれるリンクを「Ｌ０＊」なる名称で示し、上位層データ１５２に含まれるリンクは「Ｌ１＊」なる名称で示して区別するものとした。「＊」は、任意の数字が入ることを意味する。各リンクに対応づけて、下位層データ１５４、上位層データ１５２のいずれに含まれるかを特定する種別を記憶する形式を採っても良い。
【００４０】
以上のデータ構造より、全ノードと、下位層データ１５４にのみ含まれるリンクとを抽出すれば、下位層データ１５４に相当する道路データとなる。遷移ノードおよび境界ノードと、上位層データ１５２にのみ含まれるリンクとを抽出すれば、上位層データ１５２に相当する道路データとなる。
【００４１】
データ構造はここに例示した構造に限らず、下位層データ１５４と上位層データ１５２とを使い分け可能な種々の構造を適用することができる。本実施例では、下位層データ１５４と上位層データ１５２の２層構造としたが、道路種別に応じて、３層以上の構造としても構わない。
【００４２】
Ｃ．ダイクストラ法による経路探索：
本実施例では、いわゆるダイクストラ法を用いた経路探索を行う。ここで、ダイクストラ法の概要について説明する。図５はダイクストラ法の処理概要を示す説明図である。図中の「○」がノード、線分がリンクを示し、リンクの横の数字が各リンクのコストを示している。かかる道路を例にとって、ノードａからノードｄに至る経路をダイクストラ法で探索するものとする。
【００４３】
ダイクストラ法では、「端点ラベルの付与」、「確定ラベルの設定」という２つのステップを交互に繰り返し実行することにより、経路を探索する。最初は、出発点であるノードａを着目ノードとして端点ラベル（Null,0）を付与する（ステップＳ１）。端点ラベルとは、着目ノードに至る直前のノードと、着目ノードに至るまでの候補経路のコストを一時的に記憶する情報である。ステップＳ１で用いられる「Ｎｕｌｌ」はノードａに至る直前のノードが存在しないことを意味している。「０」は、ノードａに至るコストを意味している。
【００４４】
次に、得られた端点ラベルのうちコストが最小のものを選択し、確定ラベルとする（ステップＳ２）。この時点では、（Ｎｕｌｌ，０）が唯一の端点ラベルであるから、これが確定ラベルとされる。確定ラベルとは、少なくとも着目ノードを通るまでの経路については、コストが最小となる最適解が得られていることを意味する。
【００４５】
次に、確定ラベルが付されたノードａに結合された全てのリンクに沿って、経路を延伸し、それぞれのノードに端点ラベルを付与する（ステップＳ３）。ノードａからは、ノードｂおよびノードｃに移行可能であるから、これらのノードに端点ラベルが付される。ノードｂについては（ａ，１）、ノードｃについては（ａ，４）が付される。
【００４６】
ノードｂに至る経路のコストは、ノードｃに至る経路のコストよりも小さいから、次のステップでは、ノードｂに確定ラベルが設定される（ステップＳ４）。次に、ノードｂに結合された全てのリンクに沿って、経路を延伸し、それぞれのノードｃ、ｄに端点ラベルを付与する（ステップＳ５）。ノードｃについては、既にステップＳ３において端点ラベル（ａ，４）が付与されているが、「ノードａ→ノードｂ→ノードｃ」の経路に対応した端点ラベル（ｂ，３）のコストの方が小さいため、端点ラベルの置き換えが行われる。こうして目的地であるノードｄに到達する経路が決定される（ステップＳ６）。
【００４７】
ステップＳ６において目的地に到達する経路が探索されない場合、ノードｃ，ｄの双方のコストが等しいため、両者ともに確定ノードとなる。以後、経路探索は、ノードｃを通過する経路と、ノードｄを通過する経路に分岐して進められることになる。
【００４８】
Ｄ．経路探索処理：
図６は経路探索処理のフローチャートである。サーバ１００のＣＰＵが実行する処理であり、経路探索部１３０の機能に相当する処理である。
【００４９】
この処理では、ＣＰＵはまず、出発地および目的地を入力し（ステップＳ１０）、地図データベース１５０から地図データの入力を行う（ステップＳ１２）。地図データは、出発地および目的地を含み、経路探索に必要な範囲を入力すれば良い。本実施例では、下位層データ１５４と上位層データ１５２の双方を入力するが、上位層データ１５２については、後述する上位層の探索処理を行う時点で入力するものとしてもよい。
【００５０】
次に、ＣＰＵは順方向の下位層探索処理を行う（ステップＳ１４）。順方向とは、出発地を始点として目的地に向けた経路探索を意味する。ここでは、下位層データ１５４が経路探索に使用される。経路探索は、予め設定されたＮ個（Ｎは１以上の整数）の注目ノードが検出された時点で中断される。注目ノードとは、下位層データ１５４から上位層データ１５２に遷移可能なノードの総称であり、図４で説明した遷移ノードＴｒおよび境界ノードＥｄが含まれる。ここまでの経路探索によって目的地に到達する経路が決定されている場合には（ステップＳ１６）、ＣＰＵはその経路を出力して（ステップＳ４２）、処理を終了する。
【００５１】
目的地に至る経路が決定されていない場合には（ステップＳ１６）、逆方向の下位層探索処理を行う（ステップＳ１８）。逆方向とは、目的地から出発地に向けた経路探索を意味する。ここでも、下位層データ１５４が経路探索に使用される。経路探索は、順方向と同様、Ｎ個の注目ノードが検出された時点で中断される。本実施例では、順方向、逆方向ともにＮ個の注目ノードが検出された時点で中断しているが、両者で注目ノードの数を異なる値としてもよい。また、注目ノードの数のみならず、順方向、逆方向ともに、探索の始点から候補経路の端点まで所定以上の距離となった時点で探索を中断するものとしてもよい。
【００５２】
逆方向の探索によって経路が決定された場合には（ステップＳ２０）、ＣＰＵはその経路を出力し（ステップＳ４２）、処理を終了する。経路が決定されていない場合には（ステップＳ２０）、ＣＰＵは上位層データ１５２を用いた探索処理に移行する。まず、上層遷移処理として、順方向で検出された順方向注目ノード、逆方向で検出された逆方向注目ノードから、それぞれ上位層での探索処理に用いる所定数のノードを選択する（ステップＳ３０）。この処理については、後で詳述する。
【００５３】
次に、順方向注目ノードをそれぞれ出発地とし、逆方向注目ノードをそれぞれ目的地として、上位層データ１５２を用いた経路探索を行う（ステップＳ４０）。上位層での探索は、経路が決定されるまで実行する。
【００５４】
上位層探索処理で経路が決定されると、下位層での探索処理で得られた経路と併せて、出発地から目的地までの全経路が決定されたことになる。ＣＰＵは、この経路を出力し（ステップＳ４２）、処理を終了する。
【００５５】
Ｄ１．上層遷移処理：
図７は上層遷移処理のフローチャートである。図６のステップＳ３０の処理に相当する。ここでは、順方向注目ノードについての選択処理を示した。逆方向注目ノードについても同様の処理が行われる。図８は上層遷移させるノードの選択方法を示す説明図である。以下、図７に沿いつつ、図８を適宜参照して上層遷移処理を説明する。
【００５６】
処理が開始されると、ＣＰＵは、従前の下位層探索処理で検出されていた注目ノードを抽出し（ステップＳ３１）、各注目ノードについて予測コストの算出を行う（ステップＳ３２）。
【００５７】
図８（ａ）に予測コストの考え方を例示した。出発地から順方向の下位層探索により、注目ノードＮａ〜Ｎｇが検出されたものとする。各注目ノードには、出発地からのコストが対応づけられている。例えば、ノードＮｄについては、コストＣｄ、ノードＮｆについてはコストＣｆが求められているものとする。
【００５８】
予測コストは、各注目ノードから目的地までの直線距離に基づいて設定される。図８（ａ）では、ノードＮｄから目的地までの距離Ｄｄ、ノードＮｆから目的地までの距離Ｄｆを示した。両者の予測コストは、これらの距離に一定の重み係数Ｃを乗じることによって得られる。本実施例では、各ノードに与えられたコストと予測コストとの和で、次の通り評価コストを定義する。
評価コスト＝コスト＋予測コスト；
例えば、ノードＮｄ、Ｎｆに対する評価コストは、それぞれ次式で得られる。
評価コストＮｄ＝Ｃｄ＋Ｃ×Ｄｄ；
評価コストＮｆ＝Ｃｆ＋Ｃ×Ｄｆ；
【００５９】
次にこうして得られた評価コストを用いて、端点ノードの評価を行う（ステップＳ３３）。端点ノードとは、注目ノードのうち、最も端点に近い箇所にあるノードを意味する。出発地から遠方にある注目ノードに相当する。図８（ａ）の例では、ノードＮｄ、Ｎｆ、Ｎｇが端点ノードに相当する。ＣＰＵは、これらの端点ノードにつき、評価コストが小さい所定数のノードを、上層遷移させるノードとして選択する。本実施例では、評価コストが最小のものを一つだけ選択するものとした。
【００６０】
図８（ｂ）に、ノードの選択を例示した。図示する通り、ノードＮａ〜Ｎｇの順で評価コストが小さいものとする。端点ノードＮｄ、Ｎｆ、Ｎｇの中では、ノードＮｄが評価コスト最小である。従って、ステップＳ３３では、端点ノードＮｄが上層遷移させるべきノードとして選択される。
【００６１】
端点ノードの評価が済むと、次に、ＣＰＵは、境界ノードについての評価を行う（ステップＳ３４）。図８（ａ）の例では、ノードＮｃのみが境界ノードに相当する。従って、図８（ｂ）に示す通り、ノードＮｃが上層遷移させるべきノードとして選択される。
【００６２】
最後に、端点ノード、境界ノードのいずれにも該当しない注目ノードＮａ、Ｎｂ、Ｎｅについての評価を行って（ステップＳ３５）、順方向注目ノードについての処理を完了する。これらのノードには、出発地に近いノードが含まれる。図８（ｂ）に示す通り、ノードＮａが選択される。同様の処理を逆方向注目ノードについても実行し、逆方向注目ノードについても上層遷移させるノードを決定する。
【００６３】
以上の処理によって、端点ノード、境界ノード、その他の注目ノードという位置的基準の異なる３種類の注目ノードが混在した状態で、上層遷移される。仮に、評価コストが小さい順に３つの注目ノードを選択するものとすれば、図８（ｂ）の例では、ノードＮａ〜Ｎｃが選択されることになり、端点ノードは一切含まれないことになる。これに対し、本実施例では、端点ノードについての評価、境界ノードについての評価、その他のノードについての評価を分けて行うことにより、異なる位置基準の注目ノードが混在して上層遷移される。なお、ノードの選択は、必ずしも３種類の基準を用いる必要はなく、２種類または４種類以上でもよい。また、各位置的基準に対応した注目ノードのうち、上層遷移させる数は、任意に設定可能である。本実施例では、評価コストを用いてノードの選択を行ったが、その他の評価方法で選択しても構わない。
【００６４】
Ｅ．効果：
以上で説明した本実施例のナビゲーションシステムによれば、下位層データと上位層データとを使い分けることにより、高速の経路探索を行うことができる。この際、下位層データから上位層データに遷移させるノードは、異なる位置基準に対応したものが混在している。従って、単一の基準で遷移させることにより生じる不合理な経路、例えば、遠回り経路や逆戻りを含む経路などが探索される可能性を抑制することができる。この結果、本実施例のシステムでは、適切な経路探索を高速で実現することが可能となる。
【００６５】
図１０は本実施例による検索結果例を示す説明図である。図１１は従来技術による検索結果例を示す説明図である。いずれも名古屋の県庁を出発地として名神高速道路に乗るルートの検索を行った場合を例示した。検索は、国道、高速道路および都市高速道路が上位層に位置づけられている状態で行った。従来技術による検索（図１１）では、出発地の直近で上位層に遷移する結果、ポイントＰｔまでの区間で、高速道路が使用され、遠回りの経路が得られている。本実施例（図１０）によれば、高速道路への遷移も含め、複数種類の遷移ノードから上層遷移させるものを選択するため、出発地からポイントＰｔまでの区間で国道を利用した経路、即ち短距離の経路が選択される。
【００６６】
Ｆ．変形例：
実施例では、端点ノードとして、候補経路の末端近傍のノードＮｄ，Ｎｆ，Ｎｇを対象として選択を行った。かかる選択では、実質的に大差のない端点ノードを評価することが生じ、効率的な探索を妨げる場合がある。かかる弊害を回避するため、一つ以上の分岐を遡った部分にある注目ノードを端点ノードと定義づけるものとしてもよい。
【００６７】
図９は変形例としての端点ノードの定義を示す説明図である。ここでは、注目ノード１〜４が得られているものとする。その他の「○」は、下位層にのみ存在するノードを意味している。実施例の定義では、端点ノードはノード３，４となる。しかしながら、これらの二つのノードは、ノード２で分岐する以前は、同じ経路をたどることになる。そこで、変形例では、それぞれ候補経路の末端に存在する注目ノードから、遡ったところで最初に検出される注目ノードを端点ノードとして定義する。図の例では、ノード３，４から遡ったところに最初に存在するノード２が端点ノードとなる。変形例では、ノード２よりも末端側にあるノード３，４は、上層遷移の選択対象からは外される。また、ノード２よりも出発地側にあるノード１も、上層遷移の選択対象からは外される。なお、図９では最初の分岐に存在するノード２を端点ノードとする場合を例示したが、２つ以上の分岐を遡るものとしてもよい。
【００６８】
こうすることにより、実質的に重複した端点ノードの上層遷移を回避することができ、効率的な経路探索を実現することができる。なお、遡る分岐数は、任意に設定可能である。分岐数を多くすれば、端点ノードが出発地に近づくため、端点ノードが有する作用、即ち出発地からできるだけ遠方で上層遷移させるという作用が弱くなる。分岐数を少なくすれば、実質的に重複する端点ノードの上層遷移を招く可能性がある。遡る分岐数は、両者のバランスを考慮して設定することが好ましい。
【００６９】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、以上の制御処理はソフトウェアで実現する他、ハードウェア的に実現するものとしてもよい。
【図面の簡単な説明】
【図１】遠回りの経路が探索される例を示す説明図である。
【図２】逆戻りを含む経路が探索される例を示す説明図である。
【図３】実施例としてのナビゲーションシステムの構成を示す説明図である。
【図４】実施例としての地図データベースのデータ構造を示す説明図である。
【図５】ダイクストラ法の処理概要を示す説明図である。
【図６】経路探索処理のフローチャートである。
【図７】上層遷移処理のフローチャートである。
【図８】上層遷移させるノードの選択方法を示す説明図である。
【図９】変形例としての端点ノードの定義を示す説明図である。
【図１０】本実施例による検索結果例を示す説明図である。
【図１１】従来技術による検索結果例を示す説明図である。
【符号の説明】
１００…サーバ
１１０…地図データ記憶部
１２０…目的地入力部
１３０…経路探索部
１４０…通信部
１５０…地図データベース
１５２…上位層データ
１５４…下位層データ
２００…車載器
２１０…制御ユニット
２１２…通信部
２１４…表示制御部
２１６…コマンド入力部
２１８…位置検出部
【図１】
0004038045.tif 000002
【図２】
0004038045.tif 000003
【図３】
0004038045.tif 000004
【図４】
0004038045.tif 000005
【図５】
0004038045.tif 000006
【図６】
0004038045.tif 000007
【図７】
0004038045.tif 000008
【図８】
0004038045.tif 000009
【図９】
0004038045.tif 000010
【図１０】
0004038045.tif 000011
【図１１】
0004038045.tif 000012