JP4038045B2 - 階層構造のデータを用いた経路探索 - Google Patents
階層構造のデータを用いた経路探索 Download PDFInfo
- Publication number
- JP4038045B2 JP4038045B2 JP2001384304A JP2001384304A JP4038045B2 JP 4038045 B2 JP4038045 B2 JP 4038045B2 JP 2001384304 A JP2001384304 A JP 2001384304A JP 2001384304 A JP2001384304 A JP 2001384304A JP 4038045 B2 JP4038045 B2 JP 4038045B2
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- route
- node
- transition
- layer data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Instructional Devices (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Description
【発明の属する技術分野】
本発明は、道路の種別等に基づいて階層的に構成された通路データを用いて、経路探索を行う方法に関する。
【0002】
【従来の技術】
出発地から目的地までの経路探索は、カーナビゲーションにおいて、広く行われている。経路探索に用いられる道路データは、道路をリンクで表現し、交差点などリンクの接続部分をノードで表すことにより、道路のつながり具合を表現する。経路は、いわゆるダイクストラ法で探索されることが多い。ダイクストラ法とは、道路データにおいて、ノードまたはリンクに対応づけられたコストが最小となるよう経路を決定する方法を言う。
【0003】
ダイクストラ法では、出発地と目的地との間で通行可能な全ての経路についてコストの評価を行うため、両者の距離が離れた場合には、経路探索に長時間を要する。かかる課題を解決するための方法として、道路データを階層的に構成する技術が提案されている(例えば、特開平7−27568記載の技術)。この技術では、ほぼ全ての道路を網羅した下位層のデータベースと、国道や高速道路など主要な道路のみを含む上位層のデータベースとを併用して経路探索を行う。即ち、出発地と目的地の距離が離れている場合には、出発地および目的地の近傍で上位層の道路に遷移可能な経路を探索し、その後は、上位層のデータベースを用いて経路探索を行う。
【0004】
【発明が解決しようとする課題】
しかし、階層構造を有する道路データを用いた経路探索方法では、下位層から上位層に遷移する場所によって、不適切な経路が探索される場合があった。
【0005】
図1は遠回りの経路が探索される例を示す説明図である。下位層のデータベースを「Level0」、上位層のデータベースを「Level1」として表した。上位層のデータベースLevel1は、下位層のデータベースLevel0において二重線で示した主要な道路のみを含んでいる。説明の便宜上、各ノードにN1〜N10の名称を付した。ノードN1が出発地、ノードN4が目的地である場合を考える。
【0006】
従来の経路探索方法では、出発地から「N1→N2→N6」と進み、出発地近傍のノードN6でLevel1に遷移する。目的地からも逆探索を行い、「N4→N9」と進んで、目的地近傍のノードN9でLevel1に遷移する。その後は、上位層でノード「N6→N8→N9」なる経路が探索される。
【0007】
この結果、得られた経路を図中の下部に平面で示した。図中に破線の矢印で示す通り、出発地N1から目的地N4に至る直線経路「N1→N2→N3→N4」が存在するにも関わらず、実線矢印で示した遠回りの経路が探索結果として得られる。これは、出発地近傍で上位層に遷移させることにより生じる不合理な経路である。
【0008】
図2は、図1に示したような遠回り経路は探索されないものの、逆戻りを含む経路が探索される例を示す説明図である。図1と同様の形式で表した。ノードN11が出発地、ノードN21が目的地である場合を考える。
【0009】
ここでは、出発地から一定の距離以上離れたノードで上位層に遷移させるものとする。かかる場合には、出発地から「N11→N12→N13→N14→N15」と進み、ノードN15で上位層に遷移する。目的地からも逆探索を行い、「N21→N22→N23→N24→N25」と進み、ノードN25で上位層に遷移する。その後は、上位層でノード「N15→N23→N25」なる経路が探索される。
【0010】
この結果、得られた経路を図中の下部に平面で示した。図示する通り、出発地N11から目的地N21に至る経路には、ノードN23とノードN25の間で、逆戻りする部分が含まれる。このように、出発地から一定の距離だけ離れた部分で遷移させた場合にも不合理な経路が得られることがある。
【0011】
従来、階層構造の道路データを用いて経路探索を行う場合において、階層を遷移させるノードの決定方法については、検討の余地が残されていた。本願は、かかる課題に鑑み、階層構造のデータベースを用いた経路探索において、不合理な探索結果を回避するよう階層を遷移させる技術を提供することを目的とする。
【0012】
【課題を解決するための手段およびその作用・効果】
本発明の経路探索装置は、通路データ記憶部、入力部、経路探索部を備える。通路データ記憶部は、下位層データと上位層データとからなる階層構造のデータを記憶する。下位層データとは、ノードとリンクにより種々の通路を記憶したデータである。上位層データとは、下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶したデータである。異なる階層間で移行可能なノードは、遷移ノードとして定義されている。通路データは、3層以上の階層構造としてもよい。通路データ記憶部は、通路データ全体を記憶するものとしてもよいし、外部記憶装置から経路探索に必要な領域を切り出し、一時的に記憶するものとしてもよい。
【0013】
入力部は、出発地および目的地の指定を入力し、経路探索部は、通路データを利用して出発地と目的地とを結ぶ経路を探索する。
【0014】
経路探索部は、下位層探索部、遷移部、上位層探索部を備える。下位層探索部は、出発地および目的地の少なくとも一方を始点とし、他方を目標点として下位層データを用いて途中まで候補経路を探索する。下位層探索部では、出発地を始点とし目的地に向けた順方向の探索と、目的地を始点とし出発地に向けた逆方向の探索とが行われる。いずれか一方のみを行うものとしてもよい。「途中」とは、始点からの距離、候補経路の探索処理の回数などをパラメータとして、目的地までの経路が得られていなくても探索処理をうち切ることを意味する。
【0015】
遷移部は、候補経路上の遷移ノードの少なくとも一部を、複数の基準で選択して、上位層データへの遷移を行う。下位層探索部のみで出発地から目的地に至る経路が得られている場合には、遷移は必要ない。遷移部は、かかる経路が得られない場合に、遷移を行う。遷移部は、複数の基準で遷移ノードを選択する。複数の遷移ノードを選択するものしてもよいし、単一の遷移ノードを選択するものとしてもよい。
【0016】
上位層探索部は、上位層データにおいて、遷移ノード間で経路を探索する。上位層データでの探索結果と下位層での探索結果を統合することにより、出発地から目的地までの経路を得ることができる。
【0017】
従来技術として図1および図2で例示した不合理な経路は、「出発地近傍のノード」など単一の基準で遷移ノードを選択したことが原因となって生じる。本発明では、複数の基準で遷移ノードを選択するため、かかる不合理な経路の出現を抑制することができる。また、上位層への遷移を行うことにより、出発地と目的地とが遠距離にある場合の経路探索を高速化することができる。
【0018】
本発明の経路探索装置において、遷移部は、候補経路の始点に近いノードと、端点に近いノードとを混在して選択するものとしてもよい。こうすることにより、始点に近いノードを選択することにより生じる遠回り経路(図1参照)、端点に近いノードを選択することにより生じる逆戻り経路(図2参照)を効果的に回避することが可能となる。
【0019】
本発明において、下位層探索部は、枝状に分岐させながら候補経路を探索する場合には、遷移部は、候補経路の端点から1以上の分岐を遡った範囲で、端点に近い遷移ノードを選択結果に含めることが望ましい。仮に、候補経路の端点近傍で遷移ノードを選択すると、大部分が重複した候補経路上の遷移ノードが多数選択される可能性がある。端点から1以上の分岐を遡った範囲で遷移ノードを選択することにより、このように実質的に同等の経路を回避しながら、幅広い範囲で遷移ノードを選択することができる。
【0020】
本発明において、下位層探索部は、ノードおよびリンクの少なくとも一方に対応づけられたコストに基づいて探索を行う方法を用いることができる。かかる場合には、遷移部は、候補経路上の各遷移ノードに至るまでの総コストと、遷移ノードから目標点までの距離に応じて設定される予測コストとに基づいて、選択するものとしてもよい。予測コストは、例えば、遷移ノードから目標点までの距離に所定の重み計数を乗じることにより設定することができる。例えば、総コストと、予測コストとの和が小さい遷移ノードを選択する方法を採ることができる。
【0021】
総コストと予測コストは、遷移部が遷移ノードを選択するために適用する複数の基準の一部に過ぎない。遷移部は、例えば、始点近傍、端点近傍などの複数の基準で遷移ノードを選択した中から、絞り込みをかけるために、総コストと予測コストを用いた評価を適用することができる。この際、複数の基準で選択された遷移ノード全体を評価して絞り込みを行っても良いし、各基準ごとに個別に評価して絞り込みを行っても良い。
【0022】
本発明における経路探索装置は、いわゆるナビゲーションシステムなど単体で経路探索および探索結果の表示を行う装置として構成することができる。また、経路探索を行う機能と、探索結果を表示する機能とを別体の装置として構成してもよい。かかる態様として、例えば、ネットワーク上のサーバで経路探索を行い、同じくネットワークに接続された表示装置に探索結果を表示させる態様を採ることもできる。この構成においては、経路を探索するためのサーバが本発明における経路探索装置に相当する。
【0023】
本発明において下位層探索部および上位層探索部が実行する経路探索の手法は問わないが、例えば、ダイクストラ法を用いることができる。
【0024】
本発明は、種々の態様で構成可能である。コンピュータを用いて経路探索を行う経路探索方法として構成してもよいし、経路探索装置の機能をコンピュータによって実現するプログラムとして構成してもよい。また、これらのプログラムを記録した記録媒体として構成してもよい。なお、記録媒体としては、フレキシブルディスクやCD−ROM、DVD、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【0025】
【発明の実施の形態】
本発明の実施の形態について、以下の順序で説明する。
A.システム構成:
B.データ構造:
C.ダイクストラ法による経路探索:
D.経路探索処理:
D1.上層遷移処理:
E.効果:
F.変形例:
【0026】
A.システム構成:
図3は実施例としてのナビゲーションシステムの構成を示す説明図である。本実施例のシステムは、経路探索装置として機能するサーバ100と、探索結果を表示する車載器200とから構成される。
【0027】
車載器200は、車両に搭載され、運転者に現在の位置および目的地までの経路を表示するための装置である。車載器200は、CPUおよびメモリを備えるマイクロコンピュータとして構成された制御ユニット210を備えている。制御ユニット210には、図示する各機能ブロックが、ソフトウェア的に構築されている。通信部212は、無線通信によりサーバ100との間で情報の授受を行う。位置検出部218は、GPSなどの出力に基づき車両の現在位置を検出する。検出結果は、通信部212により、サーバ100に転送される。コマンド入力部216は、車載器200に設けられたボタン等の操作を入力する。例えば、目的地の設定は、コマンド入力部216によって入力されることになる。入力されたコマンドは、その内容に応じて、通信部212によりサーバ100に転送される。表示制御部214は、車載器200に表示される内容を制御する。地図データや経路の探索結果など、車載器200で表示すべき内容については、通信部212によってサーバ100から送信される。
【0028】
サーバ100は、車載器200から受けた情報に基づいて経路探索を行い、その結果を送信する。サーバ100には、ソフトウェア的に図示する各機能ブロックが構築されている。通信部140は、車載器200との情報授受を行う。
【0029】
地図データ記憶部110は、別途用意された地図データベース150を読み込み、経路探索に必要な部分を記憶する。本実施例では、地図データベース150は、サーバ100とネットワークで接続された別体のサーバ内に構築するものとした。地図データベース150は、後述する通り、経路探索の対象となる全ての道路データを記憶した下位層データ154と、国道や高速道路などの主要な道路のみを記憶した上位層データ152とを有している。
【0030】
出発地、目的地入力部120は、車載器200から受信した情報に基づいて、経路探索に用いる出発地、目的地を設定する。本実施例では、車両の現在位置を出発地とするものとした。
【0031】
経路探索部130は、地図データ記憶部110、出発地、目的地入力部120の情報に基づき、経路探索を実行する。経路探索の方法については、後で詳述する。探索結果は、通信部140を介して車載器200に送信される。
【0032】
ここでは、サーバ100と車載器200とからなるシステムを例示したが、サーバ100の機能を車載器200に組み込んでもよい。この場合、地図データベースは、通信で供給されるものとしてもよいし、DVDなどの記録媒体から車載器200に搭載したドライブ装置で読み取るものとしてもよい。
【0033】
B.データ構造:
図4は実施例としての地図データベースのデータ構造を示す説明図である。図1に示した経路を例にとって、データ構造を説明する。地図データベースには、車載器200に地図を表示するための形状データも含まれているが、ここでは経路探索に必要となる道路データについてのみ示した。
【0034】
道路データでは、道路は、リンクと呼ばれる線分によって表される。道路の交差点など、リンクの結合部分は、ノードと呼ばれる。本実施例のデータベースは、先に説明した通り、下位層データ154と上位層データ152を有する。下位層データ154は、経路探索の対象となる全てのリンク、ノードを含むデータである。図の例では、ノードN1〜N10およびリンクL01〜L06等が下位層データ154に含まれる。リンクについては、図の煩雑化を回避するため、説明に必要な部分についてのみ符号を付した。
【0035】
上位層データ152は、下位層データ154に含まれる道路のうち、主要な道路のみを含むデータである。本実施例では、2車線以上の国道および高速道路を上位層データ152に含めるものとした。上位層データ152に含める道路の種別は、任意に設定可能である。上位層データ152に存在するノードは、全て下位層データ154に含まれている。上位層データ152では、下位層データ154に含まれるノードの一部が間引かれた状態となっている関係から、リンクについては、下位層データ154とは個別に設定されている。
【0036】
図の下方に、地図データベース150の構造を模式的に示した。本実施例では、下位層データ154と上位層データ152とを完全に別個のデータベースとして構築するのではなく、両者を融合した形でデータベースを構築した。
【0037】
各ノードは、図示する通り、ノードの名称、緯度、経度、種別および結合リンクなどの組み合わせで記憶される。本実施例では、ノードについて3種類の種別を設定した。第1の種別は、「下位層」である。これは、下位層データ154にのみ属するノードを意味し、例えば、ノードN1が相当する。第2の種別は、「遷移ノードTr」である。これは、上位層データ152および下位層データ154の双方に属するノードを意味し、例えば、ノードN6が相当する。第3の種別は、「境界ノードEd」である。これは、地図データベースが管理する管理単位としての領域の境界に存在するノードを意味する。上方の図中において、下位層データ154、上位層データ152を囲む矩形領域が地図の管理単位に相当する場合には、ノードN10が境界ノードに相当する。なお、本実施例では、境界ノードは、必ず、下位層データ154と上位層データ152に共通に存在させるものとした。従って、境界ノードは、遷移ノードの一態様と考えることができる。
【0038】
結合リンクとは、各ノードに接続されているリンクを列挙したデータである。例えば、下位層データ154で図示する通り、ノードN1には、リンクL01、L02が結合されている。ノードN6には、下位層データ154においては、リンクL03〜L05、上位層データ152においては、リンクL11〜L13が結合されている。ノードN10には、下位層データ154ではリンクl06、上位層データ152ではリンクL11が結合されている。
【0039】
各リンクは、始点、終点、コストの組み合わせで記憶される。例えば、リンクL01は、ノードN1を始点、ノードN2を終点としている。コストとは、経路探索で使用される各リンクの評価値に相当し、各リンクの距離、通行所用時間などに基づいて設定される値である。本実施例では、下位層データ154に含まれるリンクを「L0*」なる名称で示し、上位層データ152に含まれるリンクは「L1*」なる名称で示して区別するものとした。「*」は、任意の数字が入ることを意味する。各リンクに対応づけて、下位層データ154、上位層データ152のいずれに含まれるかを特定する種別を記憶する形式を採っても良い。
【0040】
以上のデータ構造より、全ノードと、下位層データ154にのみ含まれるリンクとを抽出すれば、下位層データ154に相当する道路データとなる。遷移ノードおよび境界ノードと、上位層データ152にのみ含まれるリンクとを抽出すれば、上位層データ152に相当する道路データとなる。
【0041】
データ構造はここに例示した構造に限らず、下位層データ154と上位層データ152とを使い分け可能な種々の構造を適用することができる。本実施例では、下位層データ154と上位層データ152の2層構造としたが、道路種別に応じて、3層以上の構造としても構わない。
【0042】
C.ダイクストラ法による経路探索:
本実施例では、いわゆるダイクストラ法を用いた経路探索を行う。ここで、ダイクストラ法の概要について説明する。図5はダイクストラ法の処理概要を示す説明図である。図中の「○」がノード、線分がリンクを示し、リンクの横の数字が各リンクのコストを示している。かかる道路を例にとって、ノードaからノードdに至る経路をダイクストラ法で探索するものとする。
【0043】
ダイクストラ法では、「端点ラベルの付与」、「確定ラベルの設定」という2つのステップを交互に繰り返し実行することにより、経路を探索する。最初は、出発点であるノードaを着目ノードとして端点ラベル(Null,0)を付与する(ステップS1)。端点ラベルとは、着目ノードに至る直前のノードと、着目ノードに至るまでの候補経路のコストを一時的に記憶する情報である。ステップS1で用いられる「Null」はノードaに至る直前のノードが存在しないことを意味している。「0」は、ノードaに至るコストを意味している。
【0044】
次に、得られた端点ラベルのうちコストが最小のものを選択し、確定ラベルとする(ステップS2)。この時点では、(Null,0)が唯一の端点ラベルであるから、これが確定ラベルとされる。確定ラベルとは、少なくとも着目ノードを通るまでの経路については、コストが最小となる最適解が得られていることを意味する。
【0045】
次に、確定ラベルが付されたノードaに結合された全てのリンクに沿って、経路を延伸し、それぞれのノードに端点ラベルを付与する(ステップS3)。ノードaからは、ノードbおよびノードcに移行可能であるから、これらのノードに端点ラベルが付される。ノードbについては(a,1)、ノードcについては(a,4)が付される。
【0046】
ノードbに至る経路のコストは、ノードcに至る経路のコストよりも小さいから、次のステップでは、ノードbに確定ラベルが設定される(ステップS4)。次に、ノードbに結合された全てのリンクに沿って、経路を延伸し、それぞれのノードc、dに端点ラベルを付与する(ステップS5)。ノードcについては、既にステップS3において端点ラベル(a,4)が付与されているが、「ノードa→ノードb→ノードc」の経路に対応した端点ラベル(b,3)のコストの方が小さいため、端点ラベルの置き換えが行われる。こうして目的地であるノードdに到達する経路が決定される(ステップS6)。
【0047】
ステップS6において目的地に到達する経路が探索されない場合、ノードc,dの双方のコストが等しいため、両者ともに確定ノードとなる。以後、経路探索は、ノードcを通過する経路と、ノードdを通過する経路に分岐して進められることになる。
【0048】
D.経路探索処理:
図6は経路探索処理のフローチャートである。サーバ100のCPUが実行する処理であり、経路探索部130の機能に相当する処理である。
【0049】
この処理では、CPUはまず、出発地および目的地を入力し(ステップS10)、地図データベース150から地図データの入力を行う(ステップS12)。地図データは、出発地および目的地を含み、経路探索に必要な範囲を入力すれば良い。本実施例では、下位層データ154と上位層データ152の双方を入力するが、上位層データ152については、後述する上位層の探索処理を行う時点で入力するものとしてもよい。
【0050】
次に、CPUは順方向の下位層探索処理を行う(ステップS14)。順方向とは、出発地を始点として目的地に向けた経路探索を意味する。ここでは、下位層データ154が経路探索に使用される。経路探索は、予め設定されたN個(Nは1以上の整数)の注目ノードが検出された時点で中断される。注目ノードとは、下位層データ154から上位層データ152に遷移可能なノードの総称であり、図4で説明した遷移ノードTrおよび境界ノードEdが含まれる。ここまでの経路探索によって目的地に到達する経路が決定されている場合には(ステップS16)、CPUはその経路を出力して(ステップS42)、処理を終了する。
【0051】
目的地に至る経路が決定されていない場合には(ステップS16)、逆方向の下位層探索処理を行う(ステップS18)。逆方向とは、目的地から出発地に向けた経路探索を意味する。ここでも、下位層データ154が経路探索に使用される。経路探索は、順方向と同様、N個の注目ノードが検出された時点で中断される。本実施例では、順方向、逆方向ともにN個の注目ノードが検出された時点で中断しているが、両者で注目ノードの数を異なる値としてもよい。また、注目ノードの数のみならず、順方向、逆方向ともに、探索の始点から候補経路の端点まで所定以上の距離となった時点で探索を中断するものとしてもよい。
【0052】
逆方向の探索によって経路が決定された場合には(ステップS20)、CPUはその経路を出力し(ステップS42)、処理を終了する。経路が決定されていない場合には(ステップS20)、CPUは上位層データ152を用いた探索処理に移行する。まず、上層遷移処理として、順方向で検出された順方向注目ノード、逆方向で検出された逆方向注目ノードから、それぞれ上位層での探索処理に用いる所定数のノードを選択する(ステップS30)。この処理については、後で詳述する。
【0053】
次に、順方向注目ノードをそれぞれ出発地とし、逆方向注目ノードをそれぞれ目的地として、上位層データ152を用いた経路探索を行う(ステップS40)。上位層での探索は、経路が決定されるまで実行する。
【0054】
上位層探索処理で経路が決定されると、下位層での探索処理で得られた経路と併せて、出発地から目的地までの全経路が決定されたことになる。CPUは、この経路を出力し(ステップS42)、処理を終了する。
【0055】
D1.上層遷移処理:
図7は上層遷移処理のフローチャートである。図6のステップS30の処理に相当する。ここでは、順方向注目ノードについての選択処理を示した。逆方向注目ノードについても同様の処理が行われる。図8は上層遷移させるノードの選択方法を示す説明図である。以下、図7に沿いつつ、図8を適宜参照して上層遷移処理を説明する。
【0056】
処理が開始されると、CPUは、従前の下位層探索処理で検出されていた注目ノードを抽出し(ステップS31)、各注目ノードについて予測コストの算出を行う(ステップS32)。
【0057】
図8(a)に予測コストの考え方を例示した。出発地から順方向の下位層探索により、注目ノードNa〜Ngが検出されたものとする。各注目ノードには、出発地からのコストが対応づけられている。例えば、ノードNdについては、コストCd、ノードNfについてはコストCfが求められているものとする。
【0058】
予測コストは、各注目ノードから目的地までの直線距離に基づいて設定される。図8(a)では、ノードNdから目的地までの距離Dd、ノードNfから目的地までの距離Dfを示した。両者の予測コストは、これらの距離に一定の重み係数Cを乗じることによって得られる。本実施例では、各ノードに与えられたコストと予測コストとの和で、次の通り評価コストを定義する。
評価コスト=コスト+予測コスト;
例えば、ノードNd、Nfに対する評価コストは、それぞれ次式で得られる。
評価コストNd=Cd+C×Dd;
評価コストNf=Cf+C×Df;
【0059】
次にこうして得られた評価コストを用いて、端点ノードの評価を行う(ステップS33)。端点ノードとは、注目ノードのうち、最も端点に近い箇所にあるノードを意味する。出発地から遠方にある注目ノードに相当する。図8(a)の例では、ノードNd、Nf、Ngが端点ノードに相当する。CPUは、これらの端点ノードにつき、評価コストが小さい所定数のノードを、上層遷移させるノードとして選択する。本実施例では、評価コストが最小のものを一つだけ選択するものとした。
【0060】
図8(b)に、ノードの選択を例示した。図示する通り、ノードNa〜Ngの順で評価コストが小さいものとする。端点ノードNd、Nf、Ngの中では、ノードNdが評価コスト最小である。従って、ステップS33では、端点ノードNdが上層遷移させるべきノードとして選択される。
【0061】
端点ノードの評価が済むと、次に、CPUは、境界ノードについての評価を行う(ステップS34)。図8(a)の例では、ノードNcのみが境界ノードに相当する。従って、図8(b)に示す通り、ノードNcが上層遷移させるべきノードとして選択される。
【0062】
最後に、端点ノード、境界ノードのいずれにも該当しない注目ノードNa、Nb、Neについての評価を行って(ステップS35)、順方向注目ノードについての処理を完了する。これらのノードには、出発地に近いノードが含まれる。図8(b)に示す通り、ノードNaが選択される。同様の処理を逆方向注目ノードについても実行し、逆方向注目ノードについても上層遷移させるノードを決定する。
【0063】
以上の処理によって、端点ノード、境界ノード、その他の注目ノードという位置的基準の異なる3種類の注目ノードが混在した状態で、上層遷移される。仮に、評価コストが小さい順に3つの注目ノードを選択するものとすれば、図8(b)の例では、ノードNa〜Ncが選択されることになり、端点ノードは一切含まれないことになる。これに対し、本実施例では、端点ノードについての評価、境界ノードについての評価、その他のノードについての評価を分けて行うことにより、異なる位置基準の注目ノードが混在して上層遷移される。なお、ノードの選択は、必ずしも3種類の基準を用いる必要はなく、2種類または4種類以上でもよい。また、各位置的基準に対応した注目ノードのうち、上層遷移させる数は、任意に設定可能である。本実施例では、評価コストを用いてノードの選択を行ったが、その他の評価方法で選択しても構わない。
【0064】
E.効果:
以上で説明した本実施例のナビゲーションシステムによれば、下位層データと上位層データとを使い分けることにより、高速の経路探索を行うことができる。この際、下位層データから上位層データに遷移させるノードは、異なる位置基準に対応したものが混在している。従って、単一の基準で遷移させることにより生じる不合理な経路、例えば、遠回り経路や逆戻りを含む経路などが探索される可能性を抑制することができる。この結果、本実施例のシステムでは、適切な経路探索を高速で実現することが可能となる。
【0065】
図10は本実施例による検索結果例を示す説明図である。図11は従来技術による検索結果例を示す説明図である。いずれも名古屋の県庁を出発地として名神高速道路に乗るルートの検索を行った場合を例示した。検索は、国道、高速道路および都市高速道路が上位層に位置づけられている状態で行った。従来技術による検索(図11)では、出発地の直近で上位層に遷移する結果、ポイントPtまでの区間で、高速道路が使用され、遠回りの経路が得られている。本実施例(図10)によれば、高速道路への遷移も含め、複数種類の遷移ノードから上層遷移させるものを選択するため、出発地からポイントPtまでの区間で国道を利用した経路、即ち短距離の経路が選択される。
【0066】
F.変形例:
実施例では、端点ノードとして、候補経路の末端近傍のノードNd,Nf,Ngを対象として選択を行った。かかる選択では、実質的に大差のない端点ノードを評価することが生じ、効率的な探索を妨げる場合がある。かかる弊害を回避するため、一つ以上の分岐を遡った部分にある注目ノードを端点ノードと定義づけるものとしてもよい。
【0067】
図9は変形例としての端点ノードの定義を示す説明図である。ここでは、注目ノード1〜4が得られているものとする。その他の「○」は、下位層にのみ存在するノードを意味している。実施例の定義では、端点ノードはノード3,4となる。しかしながら、これらの二つのノードは、ノード2で分岐する以前は、同じ経路をたどることになる。そこで、変形例では、それぞれ候補経路の末端に存在する注目ノードから、遡ったところで最初に検出される注目ノードを端点ノードとして定義する。図の例では、ノード3,4から遡ったところに最初に存在するノード2が端点ノードとなる。変形例では、ノード2よりも末端側にあるノード3,4は、上層遷移の選択対象からは外される。また、ノード2よりも出発地側にあるノード1も、上層遷移の選択対象からは外される。なお、図9では最初の分岐に存在するノード2を端点ノードとする場合を例示したが、2つ以上の分岐を遡るものとしてもよい。
【0068】
こうすることにより、実質的に重複した端点ノードの上層遷移を回避することができ、効率的な経路探索を実現することができる。なお、遡る分岐数は、任意に設定可能である。分岐数を多くすれば、端点ノードが出発地に近づくため、端点ノードが有する作用、即ち出発地からできるだけ遠方で上層遷移させるという作用が弱くなる。分岐数を少なくすれば、実質的に重複する端点ノードの上層遷移を招く可能性がある。遡る分岐数は、両者のバランスを考慮して設定することが好ましい。
【0069】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、以上の制御処理はソフトウェアで実現する他、ハードウェア的に実現するものとしてもよい。
【図面の簡単な説明】
【図1】遠回りの経路が探索される例を示す説明図である。
【図2】逆戻りを含む経路が探索される例を示す説明図である。
【図3】実施例としてのナビゲーションシステムの構成を示す説明図である。
【図4】実施例としての地図データベースのデータ構造を示す説明図である。
【図5】ダイクストラ法の処理概要を示す説明図である。
【図6】経路探索処理のフローチャートである。
【図7】上層遷移処理のフローチャートである。
【図8】上層遷移させるノードの選択方法を示す説明図である。
【図9】変形例としての端点ノードの定義を示す説明図である。
【図10】本実施例による検索結果例を示す説明図である。
【図11】従来技術による検索結果例を示す説明図である。
【符号の説明】
100…サーバ
110…地図データ記憶部
120…目的地入力部
130…経路探索部
140…通信部
150…地図データベース
152…上位層データ
154…下位層データ
200…車載器
210…制御ユニット
212…通信部
214…表示制御部
216…コマンド入力部
218…位置検出部
Claims (6)
- 経路探索装置であって、
通路データを記憶する通路データ記憶部と、
出発地および目的地の指定を入力する入力部と、
前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する経路探索部とを備え、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記経路探索部は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する下位層探索部と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う遷移部と、
前記上位層データにおいて、遷移ノード間で経路を探索する上位層探索部とを備える経路探索装置。 - 請求項1記載の経路探索装置であって、
前記遷移部は、前記候補経路の始点に近いノードと、前記候補経路の末端に近いノードとを混在して選択する経路探索装置。 - 請求項2記載の経路探索装置であって、
前記下位層探索部は、枝状に分岐させながら前記候補経路を探索し、
前記遷移部は、前記候補経路の末端に近い前記ノードとして、前記末端に最も近いノードから1以上の分岐を遡った範囲で、前記末端に近い遷移ノードを前記選択結果に含める経路探索装置。 - 請求項1〜3いずれか記載の経路探索装置であって、
前記下位層探索部は、前記ノードおよびリンクの少なくとも一方に対応づけられたコストに基づいて前記探索を行い、
前記遷移部は、前記候補経路上の各遷移ノードに至るまでの総コストと、該遷移ノードから前記目標点までの距離に応じて設定される予測コストとに基づいて、前記選択を行う経路探索装置。 - コンピュータによって経路を探索する経路探索方法であって、
(a) 通路データを記憶する工程と、
(b) 出発地および目的地の指定を入力する工程と、
(c) 前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する工程とを備え、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記工程(c)は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する工程と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う工程と、
前記上位層データにおいて、遷移ノード間で経路を探索する工程とを備える経路探索方法。 - コンピュータによって経路探索を行わせるためのコンピュータプログラムであって、
(a) 通路データを記憶する機能と、
(b) 出発地および目的地の指定を入力する機能と、
(c) 前記通路データを利用して前記出発地と目的地とを結ぶ経路を探索する機能とを実現し、
前記通路データは、
ノードとリンクにより通路を記憶する下位層データと、
前記下位層データに含まれる一部の通路について、ノードとリンクにより通路を記憶する上位層データとを含む階層構造をなすとともに、
前記異なる階層間で移行可能なノードが遷移ノードとして定義されており、
前記機能(c)は、
前記出発地および目的地の少なくとも一方を始点とし、他方を目標点として前記下位層データを用いて、検出される所望のノードの数が予め設定された値になるまで、または、前記始点からの距離が所定以上の距離となるまで、または、予め設定された所定の処理回数になるまで、候補経路を探索する機能と、
前記候補経路上の遷移ノードから、複数の位置的基準ごとに、任意の数のノードを選択して、上位層データへの遷移を行う機能と、
前記上位層データにおいて、遷移ノード間で経路を探索する機能とを実現するためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001384304A JP4038045B2 (ja) | 2001-12-18 | 2001-12-18 | 階層構造のデータを用いた経路探索 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001384304A JP4038045B2 (ja) | 2001-12-18 | 2001-12-18 | 階層構造のデータを用いた経路探索 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003185450A JP2003185450A (ja) | 2003-07-03 |
JP4038045B2 true JP4038045B2 (ja) | 2008-01-23 |
Family
ID=27594064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001384304A Expired - Fee Related JP4038045B2 (ja) | 2001-12-18 | 2001-12-18 | 階層構造のデータを用いた経路探索 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4038045B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107982917A (zh) * | 2017-11-21 | 2018-05-04 | 北京广同川临场互动科技有限公司 | 一种3d游戏的人物路径搜索方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007072568A (ja) * | 2005-09-05 | 2007-03-22 | Nec Electronics Corp | デバッグ装置及びデバッグ方法 |
KR101089340B1 (ko) | 2008-07-15 | 2011-12-02 | 현대엠엔소프트 주식회사 | 다중 레벨 경로 탐색 방법 및 그를 위한 내비게이션 |
JP5590950B2 (ja) * | 2010-04-12 | 2014-09-17 | アルパイン株式会社 | ナビゲーション装置および誘導経路探索方法 |
-
2001
- 2001-12-18 JP JP2001384304A patent/JP4038045B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107982917A (zh) * | 2017-11-21 | 2018-05-04 | 北京广同川临场互动科技有限公司 | 一种3d游戏的人物路径搜索方法 |
CN107982917B (zh) * | 2017-11-21 | 2020-10-16 | 北京广同川临场互动科技有限公司 | 一种3d游戏的人物路径搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2003185450A (ja) | 2003-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6804604B2 (en) | Navigation system | |
US8670922B2 (en) | Guiding route generation device and guiding route generation method | |
US6937936B2 (en) | Navigation system | |
CN100543422C (zh) | 导航装置 | |
JP3371768B2 (ja) | 車両用走行経路案内装置およびその地図データ記録媒体 | |
KR100316461B1 (ko) | 경로 선출 방법 및 시스템 | |
EP0892248A2 (en) | Maneuver generation program and method | |
US20060271285A1 (en) | Navigation device | |
JPH11304518A (ja) | ナビゲーション装置 | |
JP3969373B2 (ja) | ナビゲーション装置 | |
JP3064582B2 (ja) | 車両用経路探索装置 | |
JPH11142171A (ja) | 車両用ナビゲーション装置及びそのプログラムを記録した記憶媒体 | |
JPH10227649A (ja) | ナビゲーション装置 | |
JP4038045B2 (ja) | 階層構造のデータを用いた経路探索 | |
JP4372526B2 (ja) | ナビゲーション装置および周辺施設の案内方法 | |
JPH112535A (ja) | 車載用ナビゲーション装置 | |
JP2002071369A (ja) | 車載用ナビゲーション装置 | |
JP2001074482A (ja) | 経路探索装置 | |
JP3171574B2 (ja) | 経路選出方法 | |
JP3166590B2 (ja) | 経路探索表示装置 | |
JPH09133541A (ja) | 走行経路案内装置 | |
JPH0612594A (ja) | 経路計算機能を有するナビゲーション装置 | |
JP2005315628A (ja) | ルート情報表示装置 | |
JPH09280882A (ja) | 経路探索装置 | |
JP3869055B2 (ja) | 経路探索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071102 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |