(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
次に、本発明の実施形態を以下の順序で説明する。
A.第1実施形態:
A−1.情報処理システムの構成:
A−2.最適経路探索処理:
A−3.類似経路探索処理:
A−4.経路情報表示変更処理:
B.第2実施形態:
C.変形例:
【0015】
A.第1実施形態:
A−1.情報処理システムの構成:
図1は、本発明の第1実施形態における経路探索システム10の概略構成を示す説明図である。本実施形態の経路探索システム10は、サーバ100と携帯端末装置としての携帯電話機200とを備えている。
図1には、携帯電話機200を1台のみ示しているが、経路探索システム10には、複数の携帯電話機200および携帯ゲーム機、PND(Personal Navigation Device)、PDA(Personal Digital Assistant)といった様々な携帯端末装置が含まれ得る。
【0016】
携帯電話機200は、GPS受信機201と、表示パネル202と、音声出力部203と、無線通信回路205と、操作部206と、主制御部210と、通話制御部220とを備えている。
【0017】
GPS受信機201は、GPS(Global Positioning System/全地球測位システム)を構成する人工衛星を用いて測定した携帯電話機200の現在位置(緯度、経度)を特定する位置情報を電波によって受信する。なお、GPSユニット201は、本発明における現在位置取得部に相当する。
【0018】
表示パネル202は、液晶ディスプレイとこれを駆動する駆動回路とを備えている。表示パネル202としては、液晶ディスプレイに限らず、有機ELディスプレイなど、種々の表示デバイスを採用することが可能である。音声出力部203は、音声を出力するためのスピーカや、これを駆動する駆動回路などから構成される。無線通信回路205は、基地局BSとの間でデータ通信もしくは音声通信を無線によって行う。操作部206は、テンキー206aやカーソルキー206bやタッチパネルなどから構成される入力デバイスである。操作部206は、利用者による目的地の設定入力等を受け付ける。通話制御部220は、音声通話のための着信や呼出、音声信号と電気信号の変換などを行う回路である。
【0019】
主制御部210は、携帯電話機200の各部を制御する。主制御部210は、CPU211と、RAM212と、ROM213とを備えている。CPU211は、ROM213に記憶されたプログラムをRAM212にロードして実行することで、後述する種々の処理を実行するための機能を実現する。例えば、主制御部210は、表示パネル202を制御することで、地図画像や推奨経路、現在位置などを表示する。また、主制御部210は、無線通信回路205を制御することで、基地局BSを介して(より詳細には、送受信アンテナ、基地局BS、交換局を介して)、インターネットINT上の情報記憶部110および経路探索部120と通信する。また、主制御部210は、一定時間ごとにGPS受信機201を介してGPSを用いて測定した携帯電話機200の位置情報を受信して、位置情報を生成する。
【0020】
サーバ100は、インターネットINTを介して携帯電話機200との通信を行う通信部102と、情報記憶部110と、経路探索部120と、を備えている。情報記憶部110は、CPUやRAM、ROMにより構成された制御部を有し、情報を記憶する記憶装置118と、を備えている。記憶装置118は、例えば、ハードディスク装置により構成されている。記憶装置118には、地図情報データベース(DB)114と、ノード別経路情報データベース(DB)115とが構築されている。地図情報DB114は、例えば、リンク情報およびノード情報、画像データとしての地図画像データを記憶している。ノード別経路情報DB115は、後述する経路探索を開始する探索位置から目的地までの経路を探索する際に、探索位置から任意に選択されたノードである特定のノードまでの探索経路におけるリンクとノードとの組み合わせ(以下、「経路」とも呼ぶ)と当該経路におけるリンクコストの累計値(以下、「コスト累計値」とも呼ぶ)とを、特定のノードと関連付けてノード別経路情報として記憶している。ノード別経路情報では、ノードごとに、探索位置STからのコスト累計値が最小となる経路が最小コスト経路として記憶され、それ以外の経路が非最小コスト経路として、コスト累計値とノードとを関連付けて記憶される。なお、サーバ100は、本発明における経路探索装置に相当し、情報記憶部110は、本発明における経路情報記憶部およびノード別経路記憶部に相当する。
【0021】
経路探索部120は、CPUやRAM、ROMにより構成された制御部を有し、最適経路探索部123と、類似経路探索部124とを備えている。経路探索部120は、携帯電話機200に目的地が設定され、携帯電話機200から位置情報が送信されると、通信部102を介して位置情報および目的地情報を受信する。経路探索部120の最適経路探索部123は、地図情報DB114に記憶してある経路情報と受信した位置情報および目的地情報に基づいて、各リンクのリンクコストを算出して、目的地までの後述する最適経路を探索する。経路探索部120の類似経路探索部124は、経路情報と最適経路とに基づいて後述する類似経路を探索する。経路探索部120は、目的地までの最適経路と類似経路とを含む経路情報を通信部102を介して携帯電話機200に送信する。なお、経路探索部120は、本発明における地点設定部に相当する。
【0022】
A−2.最適経路探索処理:
図2は、探索位置STから目的地GLまでの経路を探索する処理の流れを示す説明図である。
図2に示すように、本実施形態では、利用者が経路探索を行なった探索位置STから特定のノードまでの経路の内、経路探索部120の最適経路探索部123が最小コスト経路および非最小コスト経路を探索すると共に、探索位置STから目的地GLまでの経路を探索する。なお、情報記憶部110は、最小コスト経路および非最小コスト経路を記憶する。
【0023】
初めに、経路探索部120は、許容コストを設定する(ステップS300)。本実施形態では、許容コストは、予め3と設定されている。なお、許容コストの詳細については後述する。経路探索部120は、本発明における許容コスト設定部に相当する。次に、携帯電話機200の利用者は、操作部206を操作することにより目的地GLを設定する(ステップS301)。携帯電話機200に目的地GLが設定されると、携帯電話機200の主制御部210は、GPSユニット201が測定した携帯電話機200における探索位置STの位置情報を受信する(ステップS302)。主制御部210は、目的地GLおよび探索位置STの位置情報をインターネットINTを介して、サーバ100に送信する。最適経路探索部123は、インターネットINTを介して受信した目的地GLおよび探索位置STに基づいてダイクストラ法により最適経路を探索する。
【0024】
図3は、探索位置STから目的地GLまでの経路におけるノードとリンクとの一例を示す説明図である。
図3には、ハッチングを施して表示された建物と、リンクおよびノードの各名称と、各リンクにおけるリンクコストとが示されている。例えば、ノードN41とノードN31とはリンクL2で結ばれており、リンクL2のリンクコストは10である。最適経路探索部123は、地図情報DB114に記憶されている
図3に示す経路情報に基づき、各ノードにおける最小コスト経路および非最小コスト経路と経路それぞれのコスト累計値とを算出する(
図2のステップS303)。
【0025】
図4および
図5は、各ノードにおける各経路のコスト累計値算出の概略を示す説明図である。初めに、
図4(a)に示すように、探索位置STを出発点として各経路におけるコスト累計値を算出する。経路探索処理を始めた初期では、ノードである探索位置STにおけるコスト累計値は、まだどのリンクも通過していないためゼロである。また、この時点では、探索位置STに接続しているリンクから探索位置STへと入る経路のコスト累計値がないため、ゼロが探索位置STにおける最小コスト経路のコスト累計値(以下、「確定ラベル」とも呼ぶ)である。情報記憶部110のノード別経路情報DB115は、最小コスト経路と確定ラベルとを記憶する。なお、
図4および
図5では、確定ラベルが四角で囲まれて表示される。
【0026】
次に、探索位置STからリンクL1を通過したノードN41では、リンクL1からノードN41へと入る経路のコスト累計値が10となり、最小コスト経路の候補(以下、「仮ラベル」とも呼ぶ)としてノード別経路情報DB115に記憶される。なお、
図4および
図5では、仮ラベルは、ノードに入った方向を頂点とした五角形でコスト累計値が囲まれて表示される。同様に、探索位置STからリンクL3を通過したノードN31では、リンクL3からノードN31へと入る経路の仮ラベルが21となり、ノード別経路情報DB115に記憶される。
【0027】
次に、
図4(b)に示すように、全ての仮ラベルの中で最小のコスト累計値10を持つノードN41の仮ラベルが確定ラベルとなり、ノードN41を出発点として各経路のコスト累計値が算出される。リンクL1を通過してノードN41に入った後に、リンクL2を通過してノードN31に入ると、当該経路の仮ラベルは、リンクL2のリンクコストが加算されて20となる。ここで、探索位置STからノードN31へと入る経路において、リンクL3を通過する経路は、リンクL1とリンクL2とを通過する経路の仮ラベルよりも大きいため、非最小コスト経路としてノード別経路情報DB115に記憶される。非最小コスト経路として記憶されると、ノードN31を出発点とする経路を探索するときには、非最小コスト経路を通過した経路探索が行なわれず、最小コスト経路を基準として経路探索が行なわれる。なお、
図4および
図5では、非最小コスト経路のコスト累計値(以下、「負けラベル」とも呼ぶ)は、円でコスト累計値を囲まれて表示される。
【0028】
次に、リンクL1を通過してノードN41に入った後に、再びリンクL1を通過して探索位置STに戻ってきた経路の仮ラベルは、再びリンクL1のリンクコストが加算されて20となる。当該経路の仮ラベルは、探索位置STにおける確定ラベルのゼロよりも大きいため、負けラベルとしてノード別経路情報DB115に記憶される。
【0029】
次に、
図4(c)に示すように、最小コストの仮ラベルを持つノードN31を出発点として各経路のコスト累計値が算出される。ノードN31では、リンクL1とリンクL2とを通過した経路(ノードN31における最小コスト経路)を基準として、経路探索が行なわれる。ノードN31からリンクL4を通過してノードN21に入ると、当該経路の仮ラベルは、リンクL4のリンクコストが加算されて29となる。同様に、ノードN31からリンクL5を通過してノードN32に入ると、当該経路の仮ラベルは、リンクL5のリンクコストが加算されて35となる。
【0030】
ノードN31から再びリンクL2を通過してノードN41に戻ると、当該経路の仮ラベルは、リンクL2のリンクコストが加算されて30となり、ノードN41における確定ラベルの10よりも大きいため、負けラベルとして記憶される。この場合に、ノードN41において、ノードN41に接続している全てのリンクからノードN41へと入る経路のコスト累計値が記憶されたため、以降、最適経路探索部123は、ノードN41へと入る経路を探索しない。同様に、ノードN31からリンクL3を通過して探索位置STに入ると、当該経路の仮ラベルは、リンクL5のリンクコストが加算されて41となり、探索位置STにおける確定ラベルのゼロよりも大きいため、負けラベルとして記憶される。以降、最適経路探索部123は、探索位置STへと入る経路を探索しない。
【0031】
次に、
図4(d)に示すように、ノードN21を出発点として各経路のコスト累計値が算出される。ノードN21が出発点として経路探索されると、リンクL1とリンクL2とリンクL4とを通過した経路(ノードN21の最小コスト経路)のコスト累計値が、全ての仮ラベルの中で最小のコスト累計値を持つため、確定ラベルとして記憶される。ノードN21からリンクL6を通過してノードN11に入ると、当該経路の仮ラベルは、リンクL6のリンクコストが加算されて38となる。同様に、ノードN21からリンクL7を通過してノードN22に入ると、当該経路の仮ラベルは、リンクL7のリンクコストが加算されて44となる。ノードN21から再びリンクL4を通過してノードN31に戻ると、当該経路の仮ラベルは、リンクL4のリンクコストが加算されて38となり、ノードN31には既に確定ラベルが存在するため、負けラベルとして記憶される。また、ノードN31からリンクL5を通過してノードN32へと入った経路の仮ラベルは、全ての仮ラベルの中で最小のコスト累計値を持つため、次の確定ラベルとして記憶される。
【0032】
次に、
図5(a)に示すように、ノードN32を出発点として各経路についてコスト累計値が算出される。ノードN32からリンクL8を通過してノードN22に入ると、当該経路の仮ラベルは、リンクL8のリンクコストが加算されて45となり、ノードN21における仮ラベルの44よりも大きいため、負けラベルとして記憶される。
【0033】
ノードN32からリンクL9を通過してノードN33に入ると、当該経路の仮ラベルは、リンクL9のリンクコストが加算されて44となる。また、ノードN32からリンクL10を通過してノードN43に入ると、当該経路の仮ラベルは、リンクL10のリンクコストが加算されて55となる。
【0034】
また、ノードN32から再びリンクL5を通過してノードN31に戻ると、当該経路の仮ラベルは、リンクL5のリンクコストが加算されて50となる。ノードN31には既に確定ラベルが存在するため、負けラベルとして記憶される。ここで、ノードN31に接続している全てのリンクからノードN31へと入る経路のコスト累計値が記憶されたため、以降、最適経路探索部123は、ノードN31へと入る経路を探索しない。ここで、ノードN11の仮ラベルは全ての仮ラベルの中で最小のコスト累計値を持つため、確定ラベルとして記憶される。ノードN11は、この時点で最もコスト累計値の低い仮ラベルを持つため、出発点として各経路についてコスト累計値が算出される。ノードN11からリンクL11を通過してノードN13に入ると、リンクL11のリンクコストが加算されてコスト累計値が62となる。また、ノードN11からリンクL6を通過してノードN21に戻ると、当該経路の仮ラベルは、リンクL6のリンクコストが加算されて47となり、ノードN21には既に確定ラベルが存在するので、負けラベルとして記憶される。ここで、ノードN32からリンクL9を通過してノードN33へと入った経路の仮ラベルは、全ての仮ラベルの中で最小のコストを持つため、次の確定ラベルとして記憶される。同様にノードN21からリンクL7を通過してノードN22に入った経路の仮ラベルも確定ラベルとして記憶される。
【0035】
図5(b)には、上述のように、各ノードに接続するリンク全てからコスト累計値が算出されて、ノード別経路情報DB115に記憶された最小コスト経路および非最小コスト経路と、確定ラベルおよび負けラベルと、が示されている。最適経路探索部123は、ノード別経路情報DB115に記憶された各経路において、探索位置STから目的地GLまでの経路におけるコスト累計値が最小である最適経路を抽出して、決定する(
図2のステップS304)。
図5(b)には、最適経路として、探索位置STからリンクL1、ノードN41、リンクL2、ノードN31、リンクL4、ノードN21、リンクL6、ノードN11、リンクL11、ノードN13、リンクL16を通過して目的地GLに入った経路が矢印で示されている。また、
図5(b)に示すノードN23では、確定ラベルが54の経路と、確定ラベルと同じコスト累計値が54の負けラベルとが表示されている。経路が異なっていても、コスト累計値が同じである場合には、最適経路探索部123は、任意で片一方を確定ラベルとして設定する。本実施形態では、ノードN23において先に探索されたリンクL12からノードN23へと入る経路のコスト累計値を確定ラベルとして設定している。
【0036】
最適経路が決定されると、経路探索部120は、引き続き、探索位置STから目的地GLまでの経路において、最適経路のコスト累計値と設定された許容コストとを加えたコスト未満であるコスト累計値の仮ラベルを算出する(
図2のステップS305)。本実施形態では、最適経路のコスト累計値と許容コストとを加えたコスト以上の仮ラベルを算出しないため、探索位置STから目的地GLまで無限に経路を探索する必要がなく、効率的に経路探索を行なうことができる。
【0037】
次に、経路探索部120の類似経路探索部124は、得られた最適経路と、各ノードにおける最小コスト経路および非最小コスト経路と、に基づいて探索位置STから目的地GLまでの類似経路を探索する(ステップS306)。なお、類似経路の探索処理の詳細については後述する。
【0038】
A−3.類似経路探索処理:
図6は、最適経路から類似経路を探索する処理の流れを示す説明図である。
図6に示す類似経路探索処理では、初めに、類似経路探索部124は、最適経路に含まれるノードである各最適ノードにおいて、順番に確定ラベルと負けラベルとの差(以下、「経路別コスト差」とも呼ぶ)が許容コスト以下である非最小コスト経路があるか否かを判定する(ステップS322)。経路別コスト差が許容コスト以下である非最小コスト経路を有する最適ノードがないと判定された場合(ステップS322:NO)、類似経路探索部124は、類似経路がないと決定して、類似経路探索処理を終了する。ある最適ノードにおいて、経路別コスト差が許容コスト以下である非最小コスト経路があると判定された場合(ステップS322:YES)、類似経路探索部124は、当該最適ノードにおける類似経路を探索する。
【0039】
図7は、各最適ノードにおける探索された類似経路の概略を示す説明図である。
図7(a)には、探索された最適経路および類似経路と、各最適ノードにおける確定ラベルおよび負けラベルとが示されている。
図7(b)には、各最適ノードにおける確定ラベルと負けラベルと経路別コスト差とが示されている。
図7(c)には、
図7(b)と対応させて、各最適ノードと類似経路を選択した場合の経路別コスト差との概略が示されている。
【0040】
類似経路探索部124は、経路別コスト差が3以下である非最小コスト経路を探索すると、
図7(a)および(b)に示すように、最適ノードの内、ノードN13とノードN31とにおいて、経路別コスト差が3以下である非最小コスト経路を抽出する。ノードN13において経路別コスト差が2である非最小コスト経路は、探索位置STからノードN21までは最適経路と同じ経路を通過し、ノードN21からリンクL7、ノードN22、リンクL12、ノードN23、リンクL13を通過してノードN13へと入り、ノードN13から目的地GLまでは最適経路と同じ経路を通過する経路(以下、「第1類似経路」とも呼ぶ)である。
【0041】
また、ノードN31において経路別コスト差が1である非最小コスト経路は、探索位置STからリンクL3を通過してノードN31へと入り、ノードN31からは最適経路と同じ経路を通過する経路(以下、「第2類似経路」とも呼ぶ)である。類似経路探索部124は、第1類似経路および第2類似経路を類似経路として決定する(
図6のステップS323)。
【0042】
次に、類似経路探索部124は、最適経路には含まれずに類似経路にのみ含まれる各準最適ノードにおいて、経路別コスト差が最適経路と類似経路とにおけるコスト累計値の差を許容コストから差し引いた値(以下、「差分許容コスト」とも呼ぶ)以下である非最小コスト経路があるか否かを判定する(ステップS324)。準最適ノードにおいて、経路別コスト差が差分許容コスト以下である非最小コスト経路がないと判定された場合(ステップS324:NO)、類似経路探索部124は、類似経路探索処理を終了する。ある準最適ノードにおいて、経路別コスト差が差分許容コスト以下である非最小コスト経路があると判定された場合(ステップS322:YES)、類似経路探索部124は、当該準最適ノードにおいて準類似経路を探索する。
【0043】
図8は、各準最適ノードにおける探索された準類似経路の概略を示す説明図である。
図8(a)には、探索された最適経路と類似経路と準類似経路と、各準最適ノードにおける確定ラベルおよび負けラベルとが示されている。
図8(b)には
図7(b)と同様に、各準最適ノードにおける確定ラベルと負けラベルと経路別コスト差と、が示されている。また、
図8(b)には、準類似経路に含まれる準最適ノードにおける経路別コスト差と、準類似経路を含む類似経路と最適経路とのコスト累計値との差とを加えた値(以下、「経路加算コスト」とも呼ぶ)が示されている。
図8(c)には、
図8(b)と対応させて、各準最適ノードと準類似経路を選択した場合の経路別コスト差および経路加算コストとの概略が示されている。
【0044】
図8(a)および(b)に示すように、類似経路探索部124は、第1類似経路における準最適ノードの内、ノードN23とノードN22とにおいて、経路別コスト差が差分許容コスト以下である非最小コスト経路を抽出する。ノードN23において経路別コスト差がゼロである非最小コスト経路は、探索位置STからノードN31までは第1類似経路と同じ経路を通過し、ノードN31からリンクL5、ノードN32、リンクL9、ノードN33、リンクL14を通過してノードN23へと入り、ノードN23からは第1類似経路と同じ経路を通過する経路(以下、「第1準類似経路」とも呼ぶ)である。また、
図8(b)に示すように、第1準類似経路は、最適経路との経路別コスト差が2である第1類似経路に対し、ノードN23における経路別コスト差が0であるため、最適経路よりもコスト累計値が2大きい経路である。
【0045】
ノードN22において経路別コスト差が1である最小コスト経路は、探索位置STからノードN31までは第1類似経路と同じ経路を通過し、ノードN31からリンクL5、ノードN32、リンクL8、を通過してノードN22へと入り、ノードN22からは第1類似経路と同じ経路を通過する経路(以下、「第2準類似経路」とも呼ぶ)である。また、
図8(b)に示すように、第2準類似経路は、最適経路との経路別コスト差が2である第1類似経路に対し、ノードN22における経路別コスト差が1であるため、最適経路よりもコスト累計値が3大きい経路である。類似経路探索部124は、第1準類似経路および第2準類似経路を準類似経路として決定する(
図6のステップS325)。
【0046】
次に、類似経路探索部124は、準類似経路を類似経路として設定し(ステップS326)、新たに設定された類似経路における準最適ノードにおいて、上述したステップS324の処理を準類似経路がないと判定されるまで繰り返す。経路別コスト差が差分許容コスト以下である非最小コスト経路を有する準最適ノードがないと判定されると(ステップS324:NO)、類似経路探索部124は、準類似経路がないと決定して、類似経路探索処理を終了する。
【0047】
A−4.経路情報表示変更処理:
図9は、最適経路および類似経路の経路情報を更新して表示を変更する処理の流れを示す説明図である。
図9には、携帯電話機200を携帯している利用者の移動に応じて最適経路と類似経路との表示および利用者の現在位置の表示が変更される処理の流れが示されている。初めに、経路探索部120は、インターネットINTを介して、最適経路および類似経路を含む経路情報と地図情報DB114に記憶されている地図情報とを合わせて携帯電話機200に送信する。携帯電話機200の主制御部210は、受信した経路情報および地図情報とGPSユニット201が測定した携帯電話機200の現在位置を表示パネル202に表示する(ステップS341)。なお、表示パネル202は、本発明における経路表示部に相当する。
【0048】
図10は、表示パネル202に表示される最適経路と類似経路との概略を示す説明図である。
図10に示すように、表示パネル202では、携帯電話機200の現在位置が「現」という文字を丸で囲まれた表示(以下、「位置アイコン」とも呼ぶ)で探索位置STの位置に表されている。経路探索部120は、最適経路および類似経路を太さと色の濃淡とを区別した矢印で表示する。最適経路は、最も太くて濃淡が最も薄い矢印で表示される。類似経路は、最適経路に対する経路加算コストが小さい経路ほど、太くて濃淡が薄い色の矢印で表示される。なお、
図10では、色の濃淡が矢印内のハッチングによって表されており、ハッチングが細かいほど濃淡が濃いことを表している。最適経路を構成するリンクL1、リンクL2、リンクL4、リンクL6、リンクL11、リンクL16は、矢印M0で表される。経路加算コストが最も小さい1である第2類似経路を構成すると共に最適経路を構成しないリンクL3は、矢印M1で表される。経路加算コストが2である第1類似経路を構成すると共に最適経路を構成しないリンクL7、リンクL12、リンクL13は、矢印M2で表される。また、同様に経路加算コストが2である第1準類似経路を構成すると共に第1類似経路を構成しないリンクL5、リンクL9、リンクL14は、矢印M2で表される。経路別コスト差が3である第2準類似経路を構成すると共に第1類似経路および第1準類似経路を構成しないリンクL8は、矢印M3で表される。なお、経路探索部120は、本発明における経路表示変更部に相当する。次に、携帯電話機200を携帯している利用者が移動して、携帯電話機200の現在位置が変化すると、表示パネル202では、携帯電話機200の現在位置の情報が更新されて表示が変わる(
図9のステップS342)。
【0049】
図11は、携帯電話機200の現在位置の表示と最適経路および類似経路との関係の一例を示す説明図である。
図11に示すように、携帯電話機200は、第2類似経路を構成するリンクL3を通過中である。この場合、携帯電話機200の位置アイコンは、リンクL3と同じ色で表示される。また、携帯電話機200がリンクL3を通過する経路の内、リンクL1およびリンクL2を通過する経路で経路加算コストが許容コスト以下である目的地GLまでの経路はない。そのため、経路探索部120は、リンクL1およびリンクL2に表示されていた矢印M0を表示しない。本実施形態では、携帯電話機200を携帯している利用者に、利用者が通過しているリンクの経路加算コストを認識させることができ、また、リアルタイムで経路加算コストが許容コストを超える経路を案内しなくなるので利便性が向上する。
【0050】
次に、経路探索部120は、携帯電話機200の現在位置がリンクを通過してノードに到着したか否かを判定する(
図9のステップS343)。携帯電話機200がノードに到着せずにリンクに位置すると判定された場合には(ステップS343:NO)、経路探索部120は、引き続き携帯電話機200の現在位置を位置アイコンに反映させて表示パネル202に表示する(ステップS342)。携帯電話機200がノードに到着したと判定された場合には(ステップS343:YES)、経路探索部120は、到着したノードが目的地GLであるか否かを判定する(ステップS344)。携帯電話機200が目的地GLであるノードに到着すると、経路探索部120は、経路案内を終了する。
【0051】
携帯電話機200がリンクL3を通過してノードN31に到着すると(ステップS344:NO)、経路探索部120は、ノードN31に到着する前に通過したリンクがノードN31における最小コスト経路であったか否かの判定を行なう。具体的には、経路探索部120は、最小コスト経路であったか否かについて、位置アイコンが到着したノードから出発するリンクの中に、位置アイコンがノードに到着したときの経路加算コストの値よりも小さな経路加算コストのリンクがあるかどうかで判定できる。すなわち、位置アイコンがノードに到着したときの経路加算コストと同じまたはそれ以上の経路加算コストのリンクしかなければ、経路探索部120は、通過したリンクは最小コスト経路であると判定し、位置アイコンの経路加算コストより小さなリンクがあった場合には、最小コスト経路ではないと判定できる。探索位置STからノードN31までの経路の内、リンクL3が最小コスト経路であると判定された場合(ステップS345:YES)、経路探索部120は、経路情報の更新を行なわずに、引き続き携帯電話機200の現在位置を位置アイコンに反映させて表示パネル202に表示する(ステップS342)。本実施形態では、ノードN31に到着する前に通過したリンクL3が非最小コスト経路であるため(ステップS345:NO)、経路探索部120は、通過したリンクL3を通過する類似経路の経路加算コストを加算した経路情報に更新して、表示パネル202に表示する(ステップS346)。
【0052】
図12は、携帯電話機200の現在位置の表示と最適経路および類似経路との関係の一例を示す説明図である。
図12に示すように、携帯電話機200は、探索位置STからリンクL3を通過してノードN31に到着している。この場合に、携帯電話機200がノードN31における最小コスト経路ではなく非最小コスト経路を構成するリンクL3を通過している。そのため、ノードN31から目的地GLまでの経路のコスト累計値は、最適経路よりも経路加算コストの1だけ大きくなる。リンクL3を通過してノードN31に到着した時点で、ノードN31から目的地GLまでの経路の内、最適経路と同じコスト累計値の経路は存在しない。経路探索部120は、目的地GLまでの経路情報において経路加算コストを加えて経路情報を更新して表示させる。
【0053】
経路情報が更新されると、携帯電話機200がノードN31に到着するまでに最適経路として表示されていたリンクL4、リンクL6、リンクL11、リンクL16は、経路加算コストの1が加算されて矢印M0から矢印M1へと変更される。同様に、経路別コスト差が2の類似経路として表示されていたリンクL5、リンクL7、リンクL9、リンクL12、リンクL13、リンクL14は、矢印M2から矢印M3へと変更される。経路別コスト差が3の類似経路として表示されていたリンクL8は、リンクL3を通過した携帯電話機200の利用者が通過すると、経路別コスト差が許容コストを超えてしまうため、類似経路として表示されなくなる。また、リンクL1、リンクL2、リンクL3に関しては、位置アイコンがノードN31に到着すると、矢印の向きに通過することが不可能となるため、類似経路として表示されなくなる。そのため、本実施形態では、携帯電話機200の利用者が現在位置から目的地GLまでの経路におけるコスト累計値と探索位置STから目的地GLまでの最適経路におけるコスト累計値との差を容易かつリアルタイムに認識することができ、利便性が向上する。
【0054】
次に、携帯電話機200の利用者が移動して、携帯電話機200の現在位置がノードN31から出発してリンクL5を通過し始めると、経路探索部120は、位置アイコンの表示を変更する(
図9のステップS341)。
【0055】
図13は、携帯電話機200の現在位置の表示と最適経路および類似経路との関係の一例を示す説明図である。
図13に示すように、携帯電話機200がリンクL5を通過中であるため、位置アイコンは、矢印M3と同じ色の表示に変更される。この場合に、リンクL4、リンクL6、リンクL11、リンクL7、リンクL12を矢印の向きに通過して目的地GLに到着する経路はない。そのため、経路探索部120は、リンクL4、リンクL6、リンクL11、リンクL7、リンクL12に表示されていた矢印を表示しない。なお、この時点では、携帯電話機200がノードN13に到着していないため、リンクL16の矢印M1の表示は変更されず、矢印M1のままである。携帯電話機200がノードN32に到着すると、ノードN32から出発するリンクは、位置アイコンと同じ色、すなわち経路加算コストが同じ値のリンクしかないため、最適経路であったと判定され、経路情報の更新は行われない。以降、同様に位置アイコンがノードN33、ノードN23と通過し、ノードN13に到着すると、経路探索部120は、リンクL5の経路加算コストを加えてリンクL16の矢印M1を矢印M3へと変更する。以上のように、経路探索部120は、携帯電話機200が目的地GLに到着するまでに、携帯電話機200が通過したリンクそれぞれに対して、最適経路および類似経路における経路情報を更新して表示を変更する。
【0056】
以上説明したように、本実施形態におけるサーバ100は、リンク情報およびノード情報、画像データとしての地図画像データを記憶している情報記憶部110の地図情報DB114と、携帯電話機200から位置情報および目的地情報を受信し、許容コストを設定する経路探索部120とを備えている。経路探索部120の最適経路探索部123は、経路におけるノードそれぞれについて、最小コスト経路と非最小コスト経路とを算出し、探索位置STから目的地GLまでの最小コスト経路を最適経路として決定する。情報記憶部110のノード別経路情報DB115は、ノードそれぞれについて、最小コスト経路および非最小コスト経路と、最小コスト経路および非最小コスト経路のコスト累計値とを記憶する。経路探索部120の類似経路探索部124は、最適経路に含まれる最適ノードにおいて、順番に確定ラベルと負けラベルとの差が許容コスト以下である非最小コスト経路を探索し、探索された非最小コスト経路と最適ノードから目的地GLまでの経路が最適経路と同じである経路とを組み合わせた類似経路を決定する。そのため、本実施形態におけるサーバ100では、最適経路とほぼ同等のコスト累計値である類似経路を利用者に提示できるため、利用者における経路選択の自由度が上がり、利便性が向上する。また、ノードごとに最適経路とは異なる新たなサブルート等を探索しないため、サーバ100の処理負担を小さくすることができる。
【0057】
また、本実施形態におけるサーバ100では、経路探索部120の類似経路探索部124は、最適経路には含まれずに類似経路にのみ含まれる各準最適ノードにおいて、経路別コスト差が最適経路と類似経路とにおけるコスト累計値の差を差分許容コスト以下である非最小コスト経路を探索する。また、類似経路探索部124は、探索された非最小コスト経路と、準最適ノードから目的地GLまでの経路が当該類似経路と同じ経路と、を組み合わせた経路を準類似経路として設定する。その後、類似経路探索部124は、当該準最適ノードにおける最小コスト経路と非最小コスト経路とのコスト累計値の差が差分許容コスト以下となる非最小コスト経路がなくなるまで探索する。そのため、本実施形態におけるサーバ100では、許容コスト以下であるコスト累計値の経路を全て類似経路として提示するので、利用者における経路選択の自由度がさらに上がり、より利便性が向上する。
【0058】
また、本実施形態では、携帯電話機200の表示パネル202は、探索された最適経路および類似経路を表示すると共に、携帯電話機200のGPSユニット201が取得した携帯電話機200の現在位置を表示する。そのため、本実施形態では、携帯電話機200の利用者が最適経路および類似経路を容易に認識することができ、携帯電話機200の現在位置も表示されるので、利便性が向上する。
【0059】
B.第2実施形態:
図14は、第2実施形態における経路情報の一例を示す説明図である。
図14には、経路に含まれる各ノードにおける確定ラベルおよび負けラベルが示されており、各リンクのリンクコストは全て5である。例えば、ノードN022において、リンクL55から入る経路が最小コスト経路であり、リンクL56、リンクL60、リンクL61から入る経路が非最小コスト経路である。また、リンクL55およびリンクL56からノードN022へと入る経路のコスト累計値が15であり、リンクL60およびリンクL61からノードN022へと入る経路のコスト累計値が25である。第2実施形態では、許容コストが30に設定されている。なお、第2実施形態では、探索位置STおよび目的地GLと許容コストが第1実施形態と異なり、最適経路探索処理等は第1実施形態と同じである。
【0060】
図15は、第2実施形態における探索位置STから目的地GLまでの最適経路と類似経路とを示す説明図である。
図15に示すように、最適経路は、探索位置STからリンクL51、ノードN031、リンクL52、ノードN032、リンクL54、ノードN033、リンクL58を通過して目的地GLに到着する経路であり、矢印M00で表示されている。各リンクのリンクコストが5であるため、最適経路のコスト累計値は20となる。類似経路としては、経路加算コストが10であり、矢印M10で表示されるノードN031からノードN021へと入るリンクL53を通過する経路等である。また、経路加算コストが20であり、矢印M20で表示されるノードN021からノードN011へと入るリンクL57を通過する経路等である。また、経路加算コストが30であり、矢印M30で表示されるノードN012からノードN011へと入るリンクL62を通過する経路等である。
【0061】
図16は、携帯電話機200の利用者の現在位置と移動経路とを示す説明図である。
図16には、携帯電話機200の利用者の移動経路が点線で示されている。携帯電話機200は、探索位置STからリンクL51、ノードN031、リンクL53を通過してノードN021に到着した後、再びL53を通過してノードN031、リンクL52、ノードN032を通過してリンクL55の中間地点にいる。この場合に、携帯電話機200が目的地GLに到着するまでの経路では、経路加算コストが10となっている。第2実施形態では、携帯電話機200の利用者は、リンクL55の中間地点からUターンしてノードN032へと戻ってくる。
【0062】
図17は、携帯電話機200の利用者の現在位置と移動経路とを示す説明図である。
図17では、
図16と同様に、携帯電話機200の移動経路が点線で示され、携帯電話機200がリンクL55の中間地点からノードN032へと戻ってきた状態が示されている。携帯電話機200がリンクの途中で方向転換をして出発したノードへと戻った場合に、経路探索部120は、当該リンクの全体の長さに対する通過した長さの割合を当該リンクのリンクコストに乗じてコストを算出する。
図17では、携帯電話機200がリンクL55の中間で方向転換をしてノードN032へと戻ってきているため、経路探索部120は、リンクL55のリンクコストの5に2分の1を乗じ、往復分のコストとして5と算出する。そのため、
図17に示すように、携帯電話機200がノードN032へと戻る前に、経路加算コストが10であった経路は、経路加算コストが15となって矢印M15で表示され、経路加算コストが20であった経路は、経路加算コストが25となって矢印M25で表示される。また、経路加算コストが30であった経路は、経路加算コストが35となるため、許容コストの30よりも大きくなり、類似経路として表示されなくなる。そのため、本実施形態では、携帯電話機200の利用者が特に歩行者や自転車といった進行方向の変更における自由度が高い場合に、方向転換に対応した経路別加算コストの算出をリアルタイムで行なって、利用者に経路別加算コストおよび更新された類似経路をリアルタイムで認識させることができ、利便性がさらに向上する。
【0063】
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0064】
C1.変形例1:
上記実施形態では、予め経路探索部120によって許容コストが設定される態様であるが、必ずしもこれに限られず、許容コストの設定については種々変形可能である。例えば、携帯電話機200の利用者が操作部206を操作することで、許容コストが設定されてもよいし、最適経路のコスト累計値の割合に応じて設定されてもよい。また、許容コストは、利用者が目的地GLまでに何時までに到着したいか等が設定されることによって決定されてもよい。この変形例では、到着時間によって許容コストが設定されて類似経路が探索されるため、利用者は到着時間まで時間を持て余すことなく有意義な時間を過ごすことができる。
【0065】
また、上記実施形態では、利用者が携帯電話機200の操作部206を操作することにより、目的地GLを設定したが、目的地GLおよび各種設定の入力手段はこれに限られず、種々変形可能である。例えば、携帯電話機200が利用者の音声入力を受け付ける音声入力部を備えており、音声によって目的地GLの設定等、各種設定が行なわれてもよい。
【0066】
また、上記実施形態では、
図1に示すようにサーバ100が情報記憶部110および経路探索部120を備える態様としたが、情報記憶部110および経路探索部120を備える装置はこの態様に限られず、種々変形可能である。例えば、情報記憶部110と経路探索部120とは異なるサーバに備えられていてもよいし、経路探索部120が携帯電話機200に搭載されていてもよい。また、経路探索部120における最適経路探索部123および類似経路探索部124は、それぞれ異なるサーバ100に備えられていてもよい。また、地図情報DB114とノード別経路情報DB115とが同じデータベースに記憶されていてもよい。
【0067】
C2.変形例2:
上記実施形態では、経路情報表示更新処理において、探索位置STから目的地GLまでの最適経路および類似経路におけるコスト累計値が小さい経路ほど、太くて色の濃淡が薄い矢印で表示したが、最適経路および類似経路を利用者に認識させる態様はこれに限られず、種々変形可能である。例えば、最適経路および類似経路を表す矢印の太さや大きさは、変更せずに異なる色によって区別して表示してもよいし、逆に、矢印の太さや大きさが異なり、色が同じであってもよい。また、矢印を点滅させるなどの態様であっても良いし、矢印以外で表示してもよい。また、携帯電話機200の表示パネル202に表示せずに音声出力部203によって音声で利用者に最適経路および類似経路を案内してもよいし、表示と音声とによって案内してもよい。
【0068】
C3.変形例3:
上記第2実施形態では、携帯電話機200の利用者がリンクにおいて方向転換を行なった場合に、当該リンクにおいて利用者が通過した長さを基に経路加算コストに加えるコストを算出したが、加えるコストの算出方法はこれに限られず、種々変形可能である。例えば、利用者がリンクにおいて方向転換を行なう場合は、単純にリンクを通過する場合と比較してコストを多く算出してもよい。
【0069】
C4.変形例4:
上記実施形態では、特に、類似経路および準類似経路を探索する順序について説明しなかったが、類似経路および準類似経路を探索する順序を設定されることで、効率的に類似経路および準類似経路を探索できる。例えば、上記第1実施形態における
図7に示す類似経路探索において、類似経路探索部124は、経路別コスト差がノードN13よりも小さいノードN31における類似経路を探索した後に、ノードN13における類似経路を探索してもよい。また、
図8に示す準類似経路探索において、類似経路探索部124は、経路別加算コストがノードN22よりも小さいノードN23における準類似経路を探索した後に、ノードN22における準類似経路を探索してもよい。この変形例では、経路別コスト差および経路別加算コスト差が小さい経路が優先的に探索されるため、探索位置STから目的地GLまでの経路のコスト累計値の小さい類似経路および準類似経路が効率的に探索される。
【0070】
また、上述した実施形態における構成要素のうち、独立請求項に記載された要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。