説明

経由地の指定を伴う経路探索

【課題】 経由地の指定を伴う経路探索において、経由地で中断のない連続的な経路を得る。
【解決手段】 経路探索装置は、経路探索に使用する地点として、出発地ST、経由地V1、目的地DSTの指定を入力する。リンクL1〜L7、およびノードN1〜N6上にない経由地V1については、リンク上に経路探索上の代替地点となる引込点P11,P12を設定する。かかる状態で出発地ST〜経由地V1、経由地V1〜目的地DSTという区間に分けて経路探索を実行する。この際、経路探索に使用される引込点は、引込点への進入時、引込点からの退出時の双方で経路探索が成功する点を用いる。こうすることにより経由地V1も含めた全経路にわたって移動可能であることが保証された連続的な経路R1、R2を得ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出発地、目的地、および経由地の指定を伴う経路探索に関する。
【背景技術】
【0002】
電子地図データを利用した経路探索技術が普及している。経路探索には、出発地、目的地の他、途中で通過すべき経由地を指定可能な技術も提案されている(例えば、特許文献1記載の技術)。一般には、出発地を探索開始点、経由地を探索終了点として第1段階の経路探索を行い、次に、経由地を探索開始点、目的地を探索終了点とする第2段階の経路探索を行って、全体として経由地を通過する経路を求める方法が採られる。経由地が複数存在する場合も、同様にして、ある経由地を探索開始点、その直後に通過すべき経由地を探索終了点とする経路探索を実行することで、経由地で分けられる区間ごとに経路を求める方法が採られる。
【0003】
【特許文献1】特開平10−170294号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、従来技術では、経由地を通過する経路の連続性が確保できない場合が生じる可能性があった。例えば、図3に示す道路について経路探索を行う場合を考える。道路は、それぞれノードN1〜N6、およびリンクL1〜L7によって表されている。リンクL4には、一方通行Tr1による通行規制が設定されている。
【0005】
この状態で、ノードN1を出発地ST、ノードN5を目的地DSTとし、経由地V1を経由する経路を探索する場合を考える。経由地V1はノードおよびリンク上の点ではないため、経路探索時には、経由地V1の近傍のリンク上に「引込点」と呼ぶ経路探索上の代替地点を設定する必要がある。図の例では、リンクL4上の引込点P11、リンクL5上の引込点P12が設定される。引込点P11の方が、引込点P12よりも、経由地V1にとって最寄りである。
【0006】
出発地STから経由地V1までの経路探索では、リンクL4に一方通行Tr1が設定されているため、引込点P12を探索終了点とする経路R1が得られる。経由地V1から目的地DSTまでの経路探索では、経由地V1の最寄りの引込点P11を探索開始点とする経路R3が得られる。この結果、経由地V1を経由する全体経路は、経路R1、R3となり、両者間が途切れた経路となってしまう。引込点P12、P11を連結する経路R4が存在しない場合には、得られた経路にそって移動することが不能となることもある。
【0007】
本発明は、かかる課題を解決し、経由地の指定を伴う経路探索において、現実に移動可能な経路の探索を実現することを目的とする。
【課題を解決するための手段】
【0008】
本発明の経路探索装置は、リンク、ノード、及びこのリンクまたはノードに関連づけられた通行規制情報を備えた道路ネットワークデータを参照して経路探索を行う。通行規制情報とは、一方通行、右折または左折禁止など、リンクまたはノードにおける進行方向を制限する情報を言う。経路探索装置は、経路探索の出発地、目的地および少なくとも一カ所の経由地を入力する。また、リンクまたはノード上にない経由地については、経路探索用に、いずれかのリンクまたはノード上に経由地の代わりとなる引込点を複数箇所設定する。そして、道路ネットワークデータに基づき、出発地、いずれかの引込点、目的地を通過する経路を探索する。この経路探索は、経由地のそれぞれに対して、引込点を探索終了点として経路を探索する進入探索、および該引込点を探索開始点として経路を探索する退出探索の双方が成立する引込点を使用するという条件下で実行する。こうすることによって、経由地前後での経路の連続性が確保され、現実に移動可能な経路を得ることが可能となる。
【0009】
上述の条件を満たす引込点は、経路探索に先立って、または経路探索と並行して、進入探索および退出探索の双方による評価を行うことで特定する。進入探索および退出探索の一方または双方が不成立の引込点は経路探索に使用することができないものとして評価され、他の引込点を候補として、再度、進入探索および退出探索が実行される。
【0010】
ここで、探索開始点、探索終了点とは、経路探索条件として指定されるスタート地点、ゴール地点を意味しており、経路探索のアルゴリズムを規定するものではない。本発明では、例えば、探索開始点、探索終了点の双方から並行して経路を探索するアルゴリズムを適用しても構わない。
【0011】
本発明では、経由地について進入時と退出時で異なる引込点を用いることを許容してもよい。本発明においては、各引込点は進入、退出共に可能であるため、異なる引込点を用いた場合でも、両者間で移動不能となることは回避される。また、同じ経由地に対して設けられた引込点であるため、案内された経路が一見して途切れている場合でも、引込点間の移動方法は、現地で比較的容易に見いだすことが可能であり、実用上の支障は生じない。
【0012】
本発明では、経由地のそれぞれに対して、いずれか一カ所の引込点を使用するようにしてもよい。換言すれば、引込点が設定された経由地については、経由地と引込点が1対1の関係となるように引込点を使用して経路探索を行ってもよい。こうすることにより、外見上も連続した経路が案内されることになる。
【0013】
経路探索に利用する引込点は、経由地に対して設定された複数の引込点から、ランダムに候補を挙げるようにしてもよいし、一定の選択規則に基づいて候補を挙げるようにしてもよい。後者の場合、例えば、経由地からの距離が短い位置にある引込点を優先的に候補にするという選択規則を適用してもよい。こうすることにより、経由地付近を経由する経路が得られるため、利便性が向上する。
【0014】
経由地に対して複数の引込点を使用する場合、出発地または目的地に近い引込点を優先的に使用しても良い。こうすれば、経由地への進入、退出に適した経路を案内することができる。経由地から遠く離れた不便な引込点が用いられるのを避けるため、この選択は、経由地から所定距離範囲内の引込点の中から行うようにしてもよい。
【0015】
他の選択規則として、例えば、通行規制情報が関連づけられていないリンクまたはノード上の引込点を優先的に候補にするという規則を用いても良い。かかる引込点は、出発地または直前の引込点から当該引込点に向かう経路、および当該引込点から次ぎの引込点または目的地に向かう経路の双方が支障なく得られる可能性が高い。従って、かかる引込点を優先的に候補にすることにより、経路探索の所要時間を短縮することが可能となる。
【0016】
他の選択規則は、経由地からの距離、および通行規制情報の関連付けの有無の双方に基づいて定まる優先度に基づいて設定してもよい。優先度は、例えば、距離に基づく評価値、通行規制情報に基づく評価値を個別に求め、両評価値の加重和など、両評価値を用いた一定の算出式に基づき任意に設定することができる。算出式に依らず、両者の値に対して優先度を与えるテーブルを予め用意するようにしてもよい。こうすることにより、経由地付近を通過する経路を比較的短時間で探索することが可能となる。
【0017】
進入探索、退出探索は、種々の態様で行うことができる。例えば、経由地が複数指定されている場合、進入探索は、評価対象となる経由地を探索終了点とし、(1)その直前の経由地を探索開始点とする方法、(2)全体の出発地を探索開始点とする方法のいずれを用いても良い。進入探索は経由地から出発地または直前の経由地に向けて逆方向に進めてもよい。退出探索についても、評価対象となる経由地を探索開始点とし、(1)その直後の経由地を探索終了点とする方法、(2)全体の目的地を探索終了点とする方法のいずれを用いても良い。
【0018】
更に、進入探索、退出探索の少なくとも一方は、以下に示す局所的探索としてもよい。進入探索についての局所的探索は、経由地を含む所定範囲で、逆方向に進行した場合に通行規制情報に適合する経路となるという条件、即ち通行規制情報の逆解釈で、経由地側から行う経路探索とすることができる。退出探索についての局所的探索は、経由地を含む所定範囲で、通行規制情報に即して経由地から行う経路探索とすることができる。局所的探索を利用することにより、進入探索、退出探索の所要時間、ひいては経路探索全体の所要時間を短縮できる利点がある。
【0019】
例えば、進入探索における局所的探索としては、経由地から出発地等に向けて逆探索を実行し、経路の先端が経由地から所定範囲外に出た時点で、進入探索成功と判断する方法を採ることができる。この逆探索は、得られた経路を逆走した場合に通行規制に抵触しないよう、通行規制を解釈しながら行うことになる。所定範囲は、例えば、経由地からの直線距離、道のり、リンク数、ノード数などで規定することができる。所定範囲を広げれば、出発地等から引込点に至る経路が存在する確実性が向上する一方、進入探索に要する所用時間が増大する。所定範囲は、確実性と所要時間の両者のバランスを考慮して、任意に設定可能である。
【0020】
退出探索における局所的探索としては、経由地から目的地等に向けて順探索を実行し、経路の先端が経由地から所定範囲外に出た時点で、退出探索成功と判断する方法を採ることができる。所定範囲は、進入探索と同様の基準に基づき、任意に設定可能である。
【0021】
進入探索についての局所的探索は、別の態様として、出発地または直前に通過すべき経由地から経由地に至る経路上のいずれかの地点を探索開始点とする経路探索を行っても良い。退出探索についての局所的探索は、別の態様として、経由地から目的地または直後に通過すべき経由地に至る経路上のいずれかの地点を探索終了点とする経路探索を行っても良い。
【0022】
進入探索、退出探索による評価は、各引込点について必ずしも双方を行う必要はない。例えば、通行規制情報のないリンクまたはノード上の引込点に対しては、進入探索および退出探索の少なくとも一方を省略しても構わない。かかる引込点については、これらの経路探索は成功する可能性が高いからである。この省略によって、進入探索、退出探索の成否の見極めに要する時間の短縮を図ることができる。
【0023】
本発明において、経路探索は上述した方法以外に種々の態様で行うことができる。例えば、従来技術と同様の条件で経路探索を行った上で、経由地と引込点について、1対1の関係が維持されているか否かを評価するようにしてもよい。そして、かかる関係が維持されていない経由地についてのみ、候補の引込点を順次変えながら、連続的な経路が得られるまで経路探索を繰り返し実行するようにしてもよい。
【0024】
本発明は、上述した種々の特徴を全て備えている必要はなく、その一部を適宜省略したり組み合わせたりしても構わない。本発明は、経路探索装置、コンピュータを利用した経路探索方法、かかる経路探索を実現するコンピュータプログラム、および該コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体など種々の態様で構成可能である。経路探索装置として構成する場合、スタンドアロンで稼働する装置としてもよいし、端末とサーバとをネットワークで接続して構成してもよい。記録媒体としては、フレキシブルディスク、CD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【0025】
本発明の実施例について以下の順序で説明する。
A.システム構成:
B.データ構造:
C.経路探索(第1実施例):
C1.探索方法の概要:
C2.経路探索処理:
D1.変形例1:
D2.変形例2:
D3.変形例3:
D4.変形例4:
E.経路探索(第2実施例):
F.経路探索(第3実施例):
【0026】
A.システム構成:
図1は実施例としての経路案内システムの全体構成を示す説明図である。実施例の経路案内システムは、経路探索装置として機能するサーバ200と、ユーザが利用する案内装置100をネットワークNETで接続することで構成される。ネットワークNETとしては、例えば、携帯電話回線などを利用することができる。案内装置100は、図示した例に限らず、サーバ200に対して複数台接続することが可能である。
【0027】
案内装置100は、車載のナビゲーション装置や携帯電話などを利用することができる。図中に案内装置100の機能ブロックを併せて示した。これらの機能ブロックは、案内装置100に搭載されたマイクロコンピュータに所定のプログラムを実行させることでソフトウェア的に構成されるが、ハードウェア的に構成することも可能である。
【0028】
各機能ブロックは、主制御部110の制御下で、それぞれ次に示す機能を実現する。通信部120は、ネットワークNETを介した通信を制御する。GPS140は、全地球測位システム(Global Positioning System)を利用して、案内装置100の現在位置の緯度、経度を検出する。コマンド入力部130は、スイッチ等に対するユーザ操作に基づいて、経路探索、経路案内に関するコマンドを入力する。ユーザは、経路探索用のコマンドを利用して、経路探索の出発地、経由地、目的地を指定することができる。出発地は、GPS140で検出される現在位置を利用してもよい。これらの指定は、サーバ200に送信される。表示制御部150は、案内装置100のディスプレイに、経路探索用のメニュー、経路案内用の地図などを表示させる。
【0029】
サーバ200は、案内装置100からのコマンドに基づいて経路探索を行い、結果を案内装置100に提供する。かかる機能を実現するための機能ブロックを図中に示した。これらの機能ブロックは、サーバ200のCPUが実行するコンピュータプログラムによって、ソフトウェア的に構成されるが、ハードウェア的に構成することも可能である。
【0030】
地図DB220は、経路探索および経路案内に使用される電子地図データベースである。本実施例では、地図DB220には、道路ネットワークDB222と、描画DB221が含まれる。道路ネットワークDB222は、経路探索に利用されるデータベースであり、道路の接続状態をリンクやノードで表したデータ、通行規制情報、およびリンクの評価値であるコストなどを記録している。描画DB221は、経路案内時に、地図情報を表示するためのデータである。地図DB220には、これらのデータベースに加えて、経路探索の出発地、目的地の設定を支援するための検索DBを設けても良い。DB管理部212は、経路探索時、経路案内時に、それぞれ必要なデータを地図DB220から読み出す機能を奏する。
【0031】
通信部202は、ネットワークNET経由での案内装置100との通信を制御する。通信される情報には、出発地、目的地、経由地の指定その他の経路探索用のコマンド、経路探索結果が含まれる。地点入力部204は、通信部202経由で、出発地、目的地、経由地の指定結果を受け取り、それぞれを引込点管理テーブル208に記録する。引込点管理テーブル208は、このように経路探索で使用すべき種々の地点情報を管理するためのテーブルである。その構成については、後述する。
【0032】
引込点設定部210は、出発地、目的地、経由地のうち、リンクおよびノードからずれている点について、引込点を設定する。引込点とは、出発地等の各地点の周辺のリンクおよびノード上に設定される代替地点を言う。引込点の設定方法は任意であるが、本実施例では、出発地等の周辺に存在する各リンクにおろした垂線の足を引込点として設定するものとした。引込点は出発地等の各地点につき、複数設定される場合がある。
【0033】
経路探索部206は、ユーザから指定されたコマンドに基づき、引込点管理テーブル208および地図DB220を参照して、経路探索を行う。経路探索には、例えば、ダイクストラ法など周知の方法を利用可能である。得られた経路は、探索結果出力部214に受け渡される。探索結果出力部214は、経路探索の結果、および地図DB220を参照して、経路案内に必要な地図および案内情報を、案内装置100に出力する。
【0034】
B.データ構造(道路ネットワークDBおよび引込点管理テーブル):
図2は道路ネットワークDB222および引込点管理テーブル208のデータ構造を示す説明図である。図の中央に、道路に対応するリンク、ノードの例を示し、上方に道路ネットワークDB222の構造例を示し、下方に引込点管理テーブル208の例を示した。
【0035】
図の中央の例では、道路の接続状態はリンクL1〜L7、ノードN1〜N6で表現される。ノードは、リンク同士の接続点に相当する。この例では、リンクL1〜L7は直線状であるが、リンクの通過点座標を複数指定することにより、折れ線状のリンクを設定することも可能である。リンクL4には、一方通行Tr1という通行規制が設定されている。この通行規制は、矢印a1に沿う通行、即ち「ノードN2→N3→N6」という通行、および矢印a2に沿う通行、即ち「ノードN4→N3→N6」という通行が禁止されていることと同義である。
【0036】
道路ネットワークDB222は、ノードデータ222aとリンクデータ222bを有している。ノードデータ222aは、各ノードについて緯度、経度の位置情報、および通行規制情報を記録する。例えば、ノードN3については、「(緯度、経度)=(Lat3、Lon3)」という位置情報が記録され、通行規制情報には、通行不能な通過方法、この例では、上述した「ノードN2→N3→N6」および「ノードN4→N3→N6」という通過方法が記録されている。
【0037】
リンクデータ222bは、各リンクについて、位置情報およびコストを記録する。位置情報は、始点および終点のノードを記録するものとした。これらのノード間に、リンクが通過する地点の座標値を複数指定可能としてもよい。コストは、経路探索の一手法であるダイクストラ法において用いられる各リンクの評価値である。リンクデータ222bには、更に、各リンクに接続するリンクを指定する情報を含めても良い。
【0038】
引込点管理テーブル208は、経路探索で使用される各地点の情報を管理するためのテーブルである。出発地ST、経由地V1その他の経由地、目的地DSTの各地点は、通過すべき順番に配列される。各地点の位置は、ノードの符号または緯度、経度の座標値で記録される。図の例では、出発地STおよび目的地DSTの位置は、ノードの符号で記録され、経由地の位置は座標で記録されている。
【0039】
出発地、経由地、目的地がリンクまたはノード上から外れている場合には、引込点が設定される。引込点管理テーブル208の引込点情報(以下、「引込点リスト」と呼ぶこともある)は、各地点に対応づけられた引込点の位置座標、および経路探索での使用可否を記録する。図の例では、経由地V1に対して、引込点P11、P12が設定されている。但し、図中では各引込点の緯度、経度は図示を省略した。可否とは、経路探索への使用可否を表す。「NA」は使用不可(Not Available)、「A」は使用可(Available)を表している。使用可否は、経路探索の過程で付されるものであり、引込点の設定後の初期状態では、いずれの情報も付されていない「Null」か、使用可「A」に統一されている。
【0040】
道路ネットワークDB222および引込点管理テーブル208は、上述の情報が記録されていればよく、データ構造自体は図2の例示に限らず、種々の構造を適用可能である。
【0041】
C.経路探索(第1実施例):
C1.経路探索方法の概要:
図3は経路探索方法の概要を示す説明図である。先に図2で示した道路の接続状態を例にとって説明する。まず、かかる道路構成において、出発地STから経由地V1までの経路探索を行う場合を考える。このように経由地に向かう経路探索を、以下、進入探索と呼ぶものとする。経由地V1は、リンク上にないため、引込点P11またはP12のいずれかを探索終了点として経路探索することになる。引込点P11は、リンクL4の一方通行規制Tr1により、経路が得られない。従って、出発地STから経由地V1までの探索結果としては、引込点P12を探索終了点とする経路R1が得られる。
【0042】
次に、経由地V1から目的地DSTまでの経路探索を実行する。このように経由地から次の地点に向かう経路探索を、以下、退出探索と呼ぶものとする。この退出探索を、進入探索と独立に実行すると、退出探索においては、進入探索で使用された引込点P12と異なる引込点P11から目的地DSTに至る経路R3が解として得られる可能性がある。本実施例では、かかる結果を回避するため、進入探索と同一の引込点P12を用いて退出探索を実行することにより、経路R2を得る。この結果、全体としては、出発地STから経路R1で引込点P12に向かい、その後、引込点P12から経路R2で目的地DSTに向かうという連続した経路が得られる。
【0043】
上述の通り、本実施例では、各経由地について、一カ所の引込点が使用されるという条件、換言すれば、経由地と引込点が1対1に対応するという条件下で、経路探索を実行する。以下、かかる経路探索を実現するためのアルゴリズムについて説明する。
【0044】
C2.経路探索処理:
図4は経路探索処理のフローチャートである。サーバ200の各機能ブロックが連係して実現する処理であり、ハードウェア的には、サーバ200のCPUが実行する処理である。
【0045】
処理が開始されると、サーバ200は、案内装置100に対するユーザの操作に基づいて、出発地、目的地、経由地の指定を入力する(ステップS10)。そして、これらの指定された地点を引込点管理テーブル208に登録し、リンクまたはノード上に存在しない地点については引込点を設定し、引込点リストを作成する(ステップS11)。
【0046】
次に、サーバ200は、各経由地について、経路探索に使用する引込点を決定するための処理を実行する(ステップS20)。まず、処理対象となる経由地(以下、「対象経由地」と称する)に関連づけられている引込点から一つを候補として選択する(ステップS30)。この選択は、ランダムに選択する方法、経由地からの距離が近い順に選択する方法、通行規制情報が無いリンクまたはノード上に設定された引込点から順に選択する方法など、種々の方法によって行うことができる。本実施例では、距離が近い順に優先的に候補として選択する方法を採用した。こうして選択された引込点を、以下、「候補引込点」と称する。
【0047】
次に、サーバ200は、候補引込点について、進入探索を実行する(ステップS40)。進入探索では、出発地を探索開始点として設定し、候補引込点を探索終了点として設定して、経路探索を実行する。経路探索に失敗した場合は(ステップS50)、引込点管理テーブル208において、候補引込点の情報を使用不可「NA」に更新して(ステップS53)、他の候補引込点について再度、処理を繰り返す(ステップS30〜S50)。
【0048】
探索に成功した場合には(ステップS50)、同じ候補引込点について退出探索を実行する(ステップS51)。退出探索では、候補引込点を探索開始点として設定し、目的地を探索終了点として設定して、経路探索を実行する。経路探索に失敗した場合は(ステップS50)、引込点管理テーブル208において、候補引込点の情報を使用不可「NA」に更新して(ステップS53)、他の候補引込点について再度、進入探索から、処理を繰り返す。退出探索に成功すれば、その候補引込点を、経路探索に使用可能な点として確定し(ステップS54)、引込点管理テーブル208において、この候補引込点の情報を使用可「A」に変更する。
【0049】
以上の処理を各経由地について実行することにより(ステップS60)、経路探索に使用すべき引込点が決定される。サーバ200は、こうして設定された引込点を用いて、経路探索を実行する(ステップS62)。この経路探索は、出発地から1番目の経由地、1番目の経由地から2番目の経由地、…と区間に分けて目的地に至るまでの経路を区間ごとに探索する。
【0050】
本実施例によれば、各経由地については、ステップS60までの処理で設定された引込点を使用するため、必ず連続した経路、現実に移動可能な経路が得られることになり、経路探索装置の利便性が向上する。
【0051】
D1.変形例1:
図5は変形例としての引込選択処理のフローチャートである。実施例(図4)におけるステップS30に代わる処理である。変形例では、引込点と経由地との距離、および通行規制情報の有無の双方を考慮して、候補引込点を選択する処理を示す。
【0052】
変形例の処理では、全引込点について、まず引込点と経由地との距離Dを算出し(ステップS33)、この距離に基づき評価値Vdを算出する(ステップS34)。評価値は、高いほど、候補引込点としての優先度が高くなることを意味する。図中に、距離Dと評価値Vdとの関係を例示した。両者の関係は任意に設定可能であり、例えば、直線C1のように設定すれば、距離Dが遠くなるにつれて線形的に評価値Vdは低下し、一定距離以上の引込点については「評価値Vd=0」となる。曲線C2のように設定すれば、経由地に非常に近い引込点の評価値Vdが非常に大きくなる。曲線C3のように設定すれば、経由地付近ではほぼ一定の評価値Vdとしつつ、その範囲から少し外れると急激に評価値Vdが下がる。曲線C2、C3では、経由地付近の引込点が比較的選ばれやすい傾向が生じる。
【0053】
次に、サーバ200は、通行規制に基づく評価値Vrを算出する(ステップS35)。この例では、規制有りの場合には「評価値Vr=0.5」、規制無しの場合には「評価値Vr=1.0」と設定するものとした。両者の値は、任意に設定可能である。規制有りの場合に、評価値Vrを0としても構わない。
【0054】
サーバ200は、こうして得られた評価値Vd、Vrに基づき、次式(1)によって、候補引込点の評価値Vvを算出する(ステップS36)。
Vv=k1×Vd+k2×Vr;
k1,k2は重み係数(実数) …(1)
【0055】
重み係数の値は任意に設定可能である。いずれか一方を値0としても構わない。例えば、k1を値0とすれば、通行規制の有無のみで評価値Vvが決まることになる。k2を値0とすれば、逆に、経由地からの距離のみで評価値Vvが決まることになる。
【0056】
サーバ200は、全引込点について、上述の方法で評価値Vvを求め(ステップS37)、その評価値Vvが最大の引込点を選択する(ステップS38)。変形例の方法によれば、経由地からの距離、通行規制の双方を考慮して、候補引込点を選択することが可能となる。
【0057】
D2.変形例2: 図6は変形例としての経路探索処理のフローチャートである。実施例(図4)のステップS40に代わる処理のみを示した。実施例では、出発地STと候補引込点との間で進入探索を行ったのに対し、変形例では、引込点から出発地STに向けて経路探索を行うとともに、出発地STに至る経路が完全に求められる前の時点で進入探索の成否を判断する局所的探索を実行する。
【0058】
この処理が開始されると、サーバ200は探索終了点として引込点を設定する(ステップS40a)。そして、探索終了点側から逆向きに探索を実行する(ステップS40b)。この探索はダイクストラ法などによって行うことができる。逆向きの探索なので、通行規制については得られた経路を逆走した場合に違反とならないように考慮する。この検索は、無秩序に経路を延伸する態様で行ってもよいが、出発地STの方向を重視し、探索終了点側から出発地STに向けて経路が延伸するよう行うことがより好ましい。
【0059】
サーバ200は、探索された経路の長さが所定長Th以上となった場合には(ステップS40c)、探索成功と判定し(ステップS40d)、進入探索処理を終了する。本変形例では、経路長さをリンク数で評価するものとし、「Th=10」とした。即ち経路のリンク数が10本以上に延伸した時点で探索成功と判定するものとした。判断基準値Thは任意に設定可能である。また、ステップS40cの判断は、種々の態様を採ることが可能であり、例えば、探索された経路末端と引込点との直線距離や、引込点から経路末端までの道のりと、所定長Thとの比較を行うようにしてもよい。
【0060】
探索された経路の長さが所定長Thに至らない場合には(ステップS40c)、探索の中止条件が成立しているか否かを判断する(ステップS40e)。中止条件としては、例えば、所要時間が所定値を超えること、延伸可能な経路が存在しなくなることなどを用いることができる。探索の中止条件が成立した場合には、サーバ200は探索失敗と判定し(ステップS40f)、進入探索処理を終了する。探索中止条件が成立するまでは、再び経路探索を実行する(ステップS40b)。変形例では、このように局所的探索を利用するため、進入探索の成否を短時間で判定でき、ひいては経路探索の所要時間を短縮することができる。
【0061】
同様に、退出探索に局所的探索を適用してもよい。この場合には、図6のステップS40aにおいて、探索開始点を引込点、探索終了点を目的地と設定し、ステップS40bにおいて、探索開始点から棚策終了点に向けて順探索を行うようにすればよい。局所的探索は、進入探索、退出探索の双方に適用してもよいし、いずれか一方にのみ適用してもよい。
【0062】
D3.変形例3:
図7は局所的探索の変形例としての経路探索処理のフローチャートである。実施例(図4)のステップS30〜S50に代わる処理のみを示した。実施例では、出発地STと候補引込点との間で進入探索を行ったのに対し、変形例では、出発地STよりも経由地に近い地点を利用して進入探索を実行する。
【0063】
この処理では、サーバ200は、候補引込点に対する経路探索が初回か否かを判定する(ステップS41)。初回である場合には、実施例と同様、探索開始点として出発地STを用い、探索終了点として候補引込点を用いて進入探索を実行する(ステップS42、S44)。2回目以降の処理では、探索開始点として、経由地からN個手前のノードを用いて進入探索を実行する(ステップS43、S44)。
【0064】
図の下方に、この処理の一例を示した。経由地V1について引込点P11、P12が設定されている場合を考える。候補としての優先度は、引込点P11の方が引込点P12よりも高いものとする。
【0065】
かかる状態において、初回の処理では、探索開始点を出発地ST、探索終了点を候補引込点P11として経路探索を行い、太い実線の経路R1を得る。この候補引込点P11について、例えば、退出探索が不成功に終わると、次は、候補引込点P12について進入探索を実行することになる。この場合は、ステップS43に示した通り、経由地からN個手前のノードを探索開始点として設定する。図の例では、既に求まっている経路R1に沿って3個手前のノードN3を探索開始点として使用する場合を示した。進入探索は、ノードN3と候補引込点P12の間の局所的探索となり、経路R2が得られる。このように局所的探索を利用することにより、探索の所用時間が短縮されるため、各候補引込点について、進入探索の成否を速やかに判断することができる。ここでは、「3個手前」の例を示したが、局所的探索における探索開始点は、候補引込点を変更した場合でも出発地STから共通して通過する経路範囲内で、任意に設定可能である。
【0066】
図7では、進入探索に局所的探索を利用した場合を例示した。同様にして、退出探索にも局所的探索を適用可能である。この場合、探索開始点として候補引込点を用い、探索終了点として、例えば、候補引込点から目的地に向けてN個移動したノードを用いることができる。局所的探索は、進入探索および退出探索の双方に適用してもよいし、いずれか一方にのみ適用しても構わない。
【0067】
D4.変形例4:
図8は他の変形例としての経路探索処理のフローチャートである。実施例(図4)のステップS11以降のみを示した。実施例では、候補引込点について無条件に進入探索を実行したが、この変形例では、条件に応じて省略する。即ち、候補引込点が設定されているリンクまたはノードに対して、通行規制が有るか否かを判断する(ステップS40p)。通行規制がない場合には、進入探索および退出探索共に成功する可能性が高いと判断し、これらの処理を省略して、引込点を確定する(ステップS54)。通行規制が設定されている場合には、経路探索が失敗する可能性があるため、実施例(図4)と同様の処理により、進入探索、退出探索を検査する。
【0068】
本変形例の処理によれば、一定条件下で進入探索、退出探索を省略することができるため、経路探索に使用する引込点を速やかに確定することができる利点がある。
【0069】
E.経路探索(第2実施例):
図9は第2実施例としての経路探索処理のフローチャートである。第1実施例(図4)では、各経由地について、経路探索に使用する引込点を確定した後、改めて経路探索を行う例を示した。これに対し、第2実施例では、経路探索と引込点の決定を同時並行して行う例を、適宜、図3の道路構成を参照しながら説明する。
【0070】
この処理では、出発地を経由地[0]、途中の経由地を経由地[1]、[2]…[n−1]、目的地を経由地[n](nは自然数)と表すものとする。処理が開始されると、サーバ200はこれらの地点の指定を入力する(ステップS100)。そして、第1実施例(図4)と同様に、引込点リストを作成する(ステップS102)。
【0071】
次に、経路探索の処理を実行に使用する制御変数に値1を代入する初期化処理を行い(ステップS104)、以下の手順で経路探索を実行する。まず、経由地[i−1]について引込点[i−1]を確定する(ステップS106)。初めてこの処理を実行する時(i=1の時)には、経由地[0]、即ち出発地に関連づけられた引込点[0]を確定することになる。出発地がノード上にある時には、「引込点[0]=出発地[0]」と扱う。
【0072】
次に、サーバは、経由地[i]の候補引込点[i]を選択する(ステップS108)。図3の例に即して説明すれば、経由地[1]の候補引込点[1]として、引込点P11,P12のいずれか一方を選択することになる。選択には、第1実施例と同様、種々の方法を適用できる。ここでは、経由地V1の最寄りの引込点P11を選択したものとする。サーバ200は、こうして設定された2つの引込点を用いて進入探索を行う(ステップS110)。
【0073】
この進入探索は、探索開始点として引込点[i−1]を設定し、探索終了点として引込点[i]を用いる。この探索は、実質的には、引込点[i−1]についての退出探索とみることもできる。第1実施例(図4)が探索開始点として出発地を固定的に使用していたのに対し、第2実施例では、探索開始点も変動する点で相違する。即ち、第2実施例では、経由地で区切られた区間ごとに進入探索を実行するのである。「i=1」の時、図3の例では、引込点[0]に相当する出発地STと、引込点[1]に相当する引込点P11との間で進入探索を行うことになる。
【0074】
この経路探索が不成功の場合において(ステップS112)、経由地[i]について全引込点[i]の検討が未了の場合は(ステップS130)、実施例と同様、引込点管理テーブル208の内容を更新し(ステップS132)、次の候補引込点について同様の処理を実行する。
【0075】
例えば、図3の例では、出発地STと引込点P11の間の経路探索は不成功に終わるが、経由地V1についてはまだ他の引込点P12が残っている。従って、引込点管理テーブル208において、引込点P11に対しては使用不可「NA」と記録し、次に引込点[1]として引込点P12を選択して(ステップS108)、進入探索を再試行する。
【0076】
経路探索に成功した場合には(ステップS112)、経由地[i]に到達できることを意味するから、制御変数iを値1だけインクリメントし(ステップS120)、「i>n」、即ち目的地に到達していないと判断される場合には(ステップS122)、再度、上述の処理を実行する。
【0077】
図3の例では、制御変数を値2にインクリメントした後の処理として、経由地[1]についての引込点[1]をP12に確定し(ステップS106)、経由地[2]の引込点、即ち目的地DSTを選択して(ステップS108)、これらの間で進入探索を行うことになる(ステップS110)。これらの経路探索が成功すれば(ステップS112、S120、S122)、出発地STから目的地DSTに至る経路が得られることになる。
【0078】
上述の処理において、経由地[i]に関連づけられた全引込点について進入探索が不成功となる場合が生じ得る(ステップS130)。かかる場合に、第2実施例では、経由地[i−1]における引込点[i−1]の設定まで遡って処理を再試行する。まず、引込点管理テーブル208において、経由地[i]に関連づけられた引込点に付されている使用不可「NA」の情報を全てリセットするとともに、経由地[i−1]について確定した引込点[i−1]に対して使用不可「NA」を設定する(ステップS134)。その後、制御変数を値1だけデクリメントして、経路探索(ステップS106以降)を再試行するのである。
【0079】
図3において、「i=2」、即ち引込点P12と目的地との間で進入探索を行う場合を考える(ステップS110)。この経路探索が不成功に終わったとすると、引込点管理テーブル208において、経由地[i](即ち目的地)に関連づけられた引込点[i]の情報を全てリセットする(ステップS134)。また、経由地[i−1]の引込点[i−1](即ち引込点P12)の情報を使用不可「NA」に設定する(ステップS134)。その後、制御変数を「i=1」に設定し、再度経路探索を実行する。即ち、出発地STと経由地V1との間の経路探索を再試行するのである。図3の例では、経由地V1について2カ所の引込点P11、P12しか示されていないが、他の引込点があれば、この引込点について進入探索が行われることになる。
【0080】
第2実施例の経路探索によれば、各経由地の引込点が決定した時点で、改めて経路探索を行うまでなく、全体の経路が得られるため、処理時間を短縮することができる利点がある。第2実施例においても、ステップS108における引込点の選択には、第1実施例と同様、引込点と経由地の距離、通行規制の有無などを考慮した選択規則を適用することができる。
【0081】
F.経路探索(第3実施例):
図10は第3実施例としての経路探索処理のフローチャートである。第3実施例では、各経由地について、複数の引込点を併用することを許容する例を示す。
【0082】
この処理が開始されると、サーバ200は、第1実施例(図4)と同様、出発地、目的地、経由地を設定し(ステップS200)、引込点リストを作成する(ステップS202)。そして、全引込点について、進入探索および退出探索の成否を評価する(ステップS204〜S216)。進入探索および退出探索の一方が失敗した場合には、引込点管理テーブルに、使用不可「NA」と記録される(ステップS214)。これらの処理については、第1実施例(図4)と同様であるため、詳細な説明を省略する。第1実施例では、各経由地について、進入探索および退出探索の双方が成功する引込点が見つかった時点で、次の経由地の処理に移行したのに対し、第3実施例では、全引込点について進入探索および退出探索の評価を行う。進入探索および退出探索には、第1実施例および変形例で示した種々の手法を適用可能である。
【0083】
全引込点について処理が完了すると、サーバ200は使用可能と評価された引込点、即ち、進入探索および退出探索の双方が成功した引込点から、各経由地について経路探索時に使用する引込点を確定し(ステップS220)、経路探索を実行する(ステップS240)。
【0084】
図11は引込点確定処理のフローチャートである。図10のステップS220に相当する処理である。この処理では、サーバ200は、全経由地について(ステップS222)、以下の処理を実行する。まず、サーバ200は、引込点管理テーブルを参照し(ステップS224)、利用可能な引込点の数を調べる。かかる引込点が1個の場合には(ステップS226)、この引込点を経路探索に使用する点として確定し(ステップS228)、次の経由地の処理に移行する(ステップS234)。
【0085】
利用可能な引込点が複数存在する場合には(ステップS226)、その経由地に対応づけられた利用可能な全引込点について、現在の経由地からの距離D、直前の経由地からの距離Dp、直後の経由地までの距離Dnを算出する(ステップS230)。そして、「D+Dp」が最小となる引込点を、その経由地に進入する際の引込点として確定し、 「D+Dn」が最小となる引込点を、その経由地から退出する際の引込点として確定し(ステップS232)、次の経由地の処理に移行する(ステップS234)。進入時と退出時で、使用する引込点は一致しても構わないし、異なっても構わない。
【0086】
図中に、進入時の引込点の確定方法を例示した。経由地V22について2つの引込点P21、P22が利用可能であるとする。経由地V22の直前の経由地はV21、直後の経由地はV23とする。図中の太線はリンクを表し、黒丸はノードを表している。引込点P21について、経由地との距離はD21、直前の経由地V21との距離はDp21である。引込点P22について、経由地との距離はD22、直前の経由地V21との距離はDp22である。この場合、「D21+Dp21<D22+Dp22」となるため、経由地V22への進入時には、引込点P21が使用されることになる。
【0087】
同様にして、経由地V22の直後の経由地V23と引込点P21、P22の距離、および距離D21、D22を用いて、各引込P21、P22を評価すれば、経由地V22からの退出時には、引込点P22が使用されることになる。
【0088】
第3実施例では、利用可能な全引込点について上述の評価を行うものとしたが、利用可能な引込点のうち経由地から所定距離内に存在するものについてのみ、上述の評価を行うようにしてもよい。第3実施例では、引込点P21、P22の評価を経由地V21、V23との直線距離に基づいて行う例を示したが、これらの経由地から引込点に至る所要時間、リンクコスト、道のりなどを単独、または組み合わせて用いて引込点の評価を行っても良い。
【0089】
以上で説明した第3実施例の処理によれば、各経由地について複数の引込点を用いて経路案内することが許容される。但し、従来技術と異なり、経路案内には、進入および退出の双方が可能な引込点のみが用いられる。かかる場合には、経由地への進入時と退出時とで、異なる引込点が使用されたとしても、引込点間を移動可能であることが概ね保証される。案内された経路が一見して途切れている場合でも、これらの引込点間の移動方法は、現地で比較的容易に見いだすことが可能であり、実用上の支障は生じない。第3実施例によれば、例えば、駐車場を経由する場合、進入時の入口と異なる出口から退出するように案内可能となり、移動距離が短い効率的な経路を案内することが可能となる。
【0090】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。上述の実施例では、案内装置100とサーバ200からなるシステムを例示したが、本発明はスタンドアロンの装置として構成することも可能である。
【図面の簡単な説明】
【0091】
【図1】実施例としての経路案内システムの全体構成を示す説明図である。
【図2】道路ネットワークDB222および引込点管理テーブル208のデータ構造を示す説明図である。
【図3】経路探索方法の概要を示す説明図である。
【図4】経路探索処理のフローチャートである。
【図5】変形例としての引込選択処理のフローチャートである。
【図6】変形例としての引込選択処理のフローチャートである。
【図7】変形例としての経路探索処理のフローチャートである。
【図8】他の変形例としての経路探索処理のフローチャートである。
【図9】第2実施例としての経路探索処理のフローチャートである。
【図10】第3実施例としての経路探索処理のフローチャートである。
【図11】引込点確定処理のフローチャートである。
【符号の説明】
【0092】
100…案内装置
110…主制御部
120…通信部
130…コマンド入力部
140…GPS
150…表示制御部
200…サーバ
202…通信部
204…地点入力部
206…経路探索部
208…引込点管理テーブル
210…引込点設定部
212…DB管理部
214…探索結果出力部
220…地図DB
221…描画DB
222…道路ネットワークDB
222a…ノードデータ
222b…リンクデータ

【特許請求の範囲】
【請求項1】
経路探索装置であって、
リンク、ノード、及び前記リンクまたはノードに関連づけられた通行規制情報を備えた道路ネットワークデータを参照するデータベース参照部と、
経路探索の出発地、目的地および少なくとも一カ所の経由地を入力する地点入力部と、
経路探索用に、前記リンクまたはノード上にない経由地について、いずれかのリンクまたはノード上に、前記経由地の代わりとなる引込点を複数箇所設定する引込点設定部と、
前記経由地のそれぞれに対して、引込点を探索終了点として経路を探索する進入探索、および該引込点を探索開始点として経路を探索する退出探索の双方が成立する引込点を使用するという条件を満足するよう、前記道路ネットワークデータに基づき、前記出発地、いずれかの引込点、目的地を通過する経路を探索する経路探索部とを備える経路探索装置。
【請求項2】
請求項1記載の経路探索装置であって、
前記経路探索部は、前記経由地のそれぞれに対して、いずれか一カ所の引込点を使用する経路探索装置。
【請求項3】
請求項1記載の経路探索装置であって、
前記経路探索部は、前記複数箇所の引込点のうち、前記経由地からの距離が短い位置にある引込点を優先的に候補とする経路探索装置。
【請求項4】
請求項1記載の経路探索装置であって、
前記経路探索部は、前記複数箇所の引込点のうち、前記通行規制情報が関連づけられていないリンクまたはノード上の引込点を優先的に候補とする経路探索装置。
【請求項5】
請求項1記載の経路探索装置であって、
前記経路探索部は、前記複数箇所の引込点のうち、前記経由地からの距離、および前記通行規制情報の関連付けの有無の双方に基づいて定まる優先度が高い引込点を候補とする経路探索装置。
【請求項6】
請求項1〜5いずれか記載の経路探索装置であって、
前記進入探索および退出探索の少なくとも一方は、局所的探索によって行われ、
前記進入探索についての局所的探索は、前記経由地を含む所定範囲で、逆方向に進行した場合に前記通行規制情報に適合する経路となるという条件で、前記経由地側から行う経路探索であり、
前記退出探索についての局所的探索は、前記経由地を含む所定範囲で、前記通行規制情報に即して前記経由地から行う経路探索である経路探索装置。
【請求項7】
請求項6記載の経路探索装置であって、
前記経路探索部は、前記通行規制情報のないリンクまたはノード上の引込点に対し、前記進入探索および退出探索の少なくとも一方を省略する経路探索装置。
【請求項8】
経路探索方法であって、コンピュータが実行する工程として、
リンク、ノード、および前記リンクまたはノードに関連づけられた通行規制情報を備えた道路ネットワークデータを参照するデータベース参照工程と、
経路探索の出発地、目的地および少なくとも一カ所の経由地を入力する地点入力工程と、
経路探索用に、前記リンクまたはノード上にない経由地について、いずれかのリンクまたはノード上に、前記経由地の代わりとなる引込点を複数箇所設定する引込点設定工程と、
前記経由地のそれぞれに対して、引込点を探索終了点として経路を探索する進入探索、および該引込点を探索開始点として経路を探索する退出探索の双方が成立する引込点を使用するという条件を満足するよう、前記道路ネットワークデータに基づき、前記出発地、いずれかの引込点、目的地を通過する経路を探索する経路探索工程とを備える経路探索方法。
【請求項9】
コンピュータによって経路探索を実行するためのコンピュータプログラムであって、
リンク、ノード、および前記リンクまたはノードに関連づけられた通行規制情報を備えた道路ネットワークデータを参照するデータベース参照用プログラムコードと、
経路探索の出発地、目的地および少なくとも一カ所の経由地を入力する地点入力用プログラムコードと、
経路探索用に、前記リンクまたはノード上にない経由地について、いずれかのリンクまたはノード上に、前記経由地の代わりとなる引込点を複数箇所設定する引込点設定用プログラムコードと、
前記経由地のそれぞれに対して、引込点を探索終了点として経路を探索する進入探索、および該引込点を探索開始点として経路を探索する退出探索の双方が成立する引込点を使用するという条件を満足するよう、前記道路ネットワークデータに基づき、前記出発地、いずれかの引込点、目的地を通過する経路を探索する経路探索用プログラムコードとを備えるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2006−3264(P2006−3264A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−181243(P2004−181243)
【出願日】平成16年6月18日(2004.6.18)
【出願人】(597151563)株式会社ゼンリン (155)
【Fターム(参考)】