(57)【特許請求の範囲】
【請求項１】
スタートノード及びゴールノードを指定するとともに、１又は複数の迂回ノードを指定することができる指定手段と、
前記指定手段によってスタートノードとゴールノード、及び迂回ノードが指定され、スタートノードとゴールノード間経路の各ノード間のコストを求めて経路探索を行う場合、スタートノードから迂回ノードのコストを求め、次に迂回ノードからゴールノードのコストを求める際に、迂回ノード到達後にその迂回ノードの直前ノードに戻る経路は探索対象経路とはしないようにして、スタートノードから、指定された各迂回ノードを経由してゴールノードに達する最良経路を探索することができる探索演算手段と、
を備えたことを特徴とする経路探索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は例えばナビゲーションシステムなどへの採用に好適な経路探索装置に関するものである。
【０００２】
【従来の技術】
ナビゲーションシステムでは、或る地点（スタートノード）から或る地点（ゴールノード）までの経路が複数存在する場合は、その中で最良の経路を探索し、ユーザーに提示する動作が行なわれる。
つまり、ユーザーが例えば現在位置などをスタートノードとして設定し、また目的地をゴールノードとして設定することで、目的地までの最良の経路がナビゲーションシステムのディスプレイで表示されるようにするものである。
最良の経路とは、例えば道路事情や距離、ユーザーの希望（例えば高速道路を使用するなど）等の条件から、最短時間もしくは最小距離でゴールノードに到達できる経路（以下、最短経路という）である。
【０００３】
そして、最短経路を判別するために、各ノード間の道路について進行負担値（以下、コストいう）という値を設定している。このコストとは、或るノードとノードの間での進行につい設定される値であり、例えば距離、道路事情、高速道路か否かなどの条件で設定される。つまり、コストが小さい経路ほど好適な経路（距離が短い経路又は短時間で進行できる経路）とされるものである。
そして、スタートノードからゴールノードまでの経路として多数の経路が考えられる場合は、各経路について累計のコストを比較し、最もコストノ小さい経路を最短経路として判断するものである。
【０００４】
【発明が解決しようとする課題】
ところで、実際のユーザーのナビゲーションシステムの使用について考えてみると、単に最短経路を提示するだけでは不都合な場合が多い。
例えばユーザーが或る目的地に対してドライブする場合には、単にその目的に向かうことだけではなく、途中で或る場所に立ち寄りたい場合や、或る道路については、例えそれが最短経路の一部となる道路であっても、そこを通らないで迂回して目的地に向かいたいということも多々ある。
このような場合を考えると、目的地の最短経路を提示することだけでは実際上ナビゲーションとしてユーザーの役にたたなくなることがあるという問題が生ずる。
【０００５】
【課題を解決するための手段】
本発明はこのような問題点に鑑みて、スタートノードからゴールノードまでの経路の探索処理において、途中の迂回地点、立寄地点を考慮できるようにし、例えばナビゲーションシステムにおいて好適な動作を実現することを目的とする。
【０００６】
このため経路探索装置として指定手段と、探索演算手段について次のように構成する。
指定手段は、スタートノード及びゴールノードを指定するとともに、１又は複数の迂回ノードを指定することができるようにする。
探索演算手段は、指定手段によってスタートノードとゴールノード、及び迂回ノードが指定された場合に、迂回ノード到達後にその迂回ノードの直前ノードに戻る経路は探索対象経路とはしないようにして、スタートノードから、指定された各迂回ノードを経由してゴールノードに達する最良経路を探索するようにする。
【０００７】
このように迂回ノードについては、迂回ノード到達後にその迂回ノードの直前ノードに戻る経路は探索対象としないことで、いわゆる迂回対象となる経路、つまり通りたくない経路が設定されることになり、この経路を外した状態で最良の経路を算出できる。
【０００８】
また、経路探索装置として指定手段と、探索演算手段について次のように構成する。
指定手段は、スタートノード及びゴールノードを指定するとともに、１又は複数の立寄ノードを指定することができるようにする。
探索演算手段は、指定手段によってスタートノードとゴールノード、及び立寄ノードが指定された場合に、立寄ノード到達後にその立寄ノードの直前ノードに戻る経路も探索対象経路に含むようにしながら、スタートノードから、指定された各立寄ノードを経由してゴールノードに達する最良経路を探索する。
【０００９】
このように立寄ノードについては、立寄ノード到達後にその直前ノードに戻る経路も探索対象と含むことで、立寄地点を考慮したうえでのゴールノードまでの最良の経路を算出できる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図１〜図７を用いて説明する。この場合本発明の経路探索装置はナビゲーションシステムにおけるコントローラ内に装備されるものとして説明する。
【００１１】
図２はナビゲーションシステムとしてのブロック図を示すものである。
ナビゲーションコントローラ１はＣＰＵ，ＲＡＭ，ＲＯＭ及び各部とのインターフェース部を有するマイクロコンピュータにより構成される。
ＣＤ−ＲＯＭプレーヤ２は、ナビゲーションコントローラ１の制御に基づいてＣＤ−ＲＯＭの再生動作を行なう部位である。ＣＤ−ＲＯＭプレーヤ２に装填されるＣＤ−ＲＯＭには地図情報や地図上の各地点に対する名称などの付加情報が記録されている。ＣＤ−ＲＯＭから再生された情報はナビゲーションコントローラ１に供給される。
【００１２】
ＧＰＳ受信機３は、いわゆるＧＰＳ（グローバルポジショニングシステム：広域測位システム）による現在位置情報を得るための部位である。このＧＰＳ受信機３からは位置情報（緯度／経度）、絶対方位情報、速度情報が得られ、これらの情報はナビゲーションコントローラ１に入力される。
操作部４は、ユーザーがナビゲーションシステムを使用する際に各種の操作入力を行なう部位である。
例えばドライブに際して目的地までの好適な経路を知りたい場合には、現在位置（スタートノード）、目的地（ゴールノード）を入力する。さらに後述するように、ユーザーは操作部４から、途中で立ち寄りたい場所（立寄ノード）や、迂回したい道路の設定のための迂回地点（迂回ノード）を入力することができる。
【００１３】
さらに画面表示のスクロールや縮尺変更、各種情報の提示などを求める操作を行なうことができる。
これらの操作部４からの操作情報はナビゲーションコントローラ１に入力される。ナビゲーションコントローラ１は入力された操作情報及び内部ＲＯＭに保持する動作プログラムに従って各部に対して所要の制御を行なうことになる。
【００１４】
表示コントローラ５は、モニタ６における画像表示動作をコントロールする。即ちナビゲーションコントローラ１から供給される表示指令及び表示内容に基づいてモニタ６へ映像信号を供給し、モニタ６において画像表示を実行させる。
モニタ６は例えば液晶ディスプレイ装置などにより形成されている。
【００１５】
このようなナビゲーションシステムでは、ナビゲーションコントローラ１はＣＤ−ＲＯＭプレーヤ２によるＣＤ−ＲＯＭの再生動作を実行させ、地図情報を得る。そして再生された地図情報を表示コントローラ５に供給し、モニタ６において地図画像の表示を実行させる。
【００１６】
また現在位置はＧＰＳ受信機３からの緯度／経度情報により把握することができ、ナビゲーションコントローラ１はその現在位置情報を表示コントローラ５に供給する。すると表示コントローラ５はその位置に対応してモニタ６に表示された地図上で現在位置を示す画像が表示されるように映像信号を生成する。
さらにユーザーが操作部４を用いてモニタ６における地図画像の縮尺変更やスクロール表示などの要求を行なった場合は、ナビゲーションコントローラ１はその操作に基づいて表示コントローラ５を制御し、モニタ６において要求された画像表示を実行させることになる。
【００１７】
また、ユーザーが目的地までの最短経路を知りたいとしてスタートノード、ゴールノードを入力した場合は、ナビゲーションコントローラ１は考えられる経路の中からコストが最小となる経路を判別し、その経路がモニタ６における地図画像上で表示されるようにする。
【００１８】
さらにこの実施例では、ナビゲーションコントローラ１は単に最短経路を判別するのみではなく、ユーザーが迂回ノードや立寄ノードを入力することに応じて、迂回道路、立寄地点を考慮した上で、最適な経路を提示できるようにしている。以下、このためのナビゲーションコントローラ１の経路探索処理について説明する。
ナビゲーションコントローラ１による経路探索処理は図１に示される。
【００１９】
この処理では、ユーザーにスタートノード及びゴールノードの入力を求め、入力に応じてスタートノード及びゴールノードを設定する。さらに、立寄ノードもしくは迂回ノードを入力した場合は、その立寄ノード、迂回ノードも処理に取り込む（Ｆ１０１）。
そして次に立寄ノード、迂回ノードの総数を変数Ｍとして保持する（Ｆ１０２）。
また変数ｎ＝１と設定する（Ｆ１０３）。
そして経路探索のための始点ＳＳとしてスタートノードを代入する（Ｆ１０４）。
【００２０】
ステップＦ１０５において変数Ｍ＝０である場合とは、立寄ノード又は迂回ノードの入力がなかった場合である。つまり、ユーザーはスタートノードからゴールノードまで特に条件をつけずに最短経路が知りたいと思った場合に相当する。
このような場合はステップＦ１１５に進んで、経路探索のための終点ＥＥとしてゴールノードを代入する。
そしてステップＦ１１６で、始点ＳＳから終点ＥＥまでの各種経路についてコストをもとめ、コスト最小の経路を最短経路とする。ステップＦ１１７では判別された最短経路をルートＲ（ｎ）、つまりこの場合ルートＲ１として保持する。
このルートＲ１は、ステップＦ１１８においてモニタ６での表示処理に用いられることになる。
【００２１】
一方、ステップＦ１０５において変数Ｍ＝０でない場合とは、立寄ノード又は迂回ノードの入力があった場合である。
このようなときは、まずスタートノードから最初の立寄ノード又は迂回ノードまでの最短経路を探索する。つまりステップＦ１０７で最初の立寄ノード又は迂回ノードを終点ＥＥとして、ステップＦ１０８で始点ＳＳから終点ＥＥまでの各種経路についてコストを求め、コスト最小の経路を最短経路とする。判別された最短経路はステップＦ１０９においてルートＲ（ｎ）、つまりこの場合ルートＲ１として保持する。
【００２２】
ここで、この時点での終点ＥＥが立寄ノードではなく、迂回ノードと設定されたものであった場合は、ステップＦ１１０からＦ１１３に進み、そのルートＲ１において示される経路上で終点ＥＥ（迂回ノード）の直前ノードを直前ノードＦＦとする。そして、ステップＦ１１４で、以降の処理において、終点ＥＥ（迂回ノード）からの直前ノードＦＦへの経路は進行禁止、つまり探索対象経路から外すように処理を行なう。
【００２３】
次に、ステップＦ１１１では変数ｎのインクリメントを行ない、またステップＦ１１２ではその時点で終点ＥＥとされているノード（つまり最初の立寄ノード又は迂回ノード）を新たな始点ＳＳとする。そしてステップＦ１０６に戻る。この時点で他に立寄ノード又は迂回ノードの設定がなければステップＦ１０６で肯定結果が出る。一方、他にも立寄ノード又は迂回ノードの設定があれば、否定結果が出る。
他に立寄ノード又は迂回ノードがあった場合は、その次の立寄ノード又は迂回ノードがステップＦ１０７で終点ＥＥとされる。
そしてステップＦ１０８で始点ＳＳから終点ＥＥまでの各種経路についてコストを求め、コスト最小の経路を最短経路とする。判別された最短経路はステップＦ１０９においてルートＲ（ｎ）、つまりこの場合ルートＲ２として保持する。
【００２４】
このように立寄ノード又は迂回ノードが設定された場合は、各ノード間で順番に最短経路を探索していく。そして全ての立寄ノード又は迂回ノードまでについての経路がルートＲ１〜Ｒ（ｎ）（なお、この時点でｎ＝Ｍ）として判別された後、ステップＦ１１５に進み、ステップＦ１１６以降で、ルートＲ（ｎ）において終点として示されるノードからゴールノードまでの最短経路が求められ、ルートＲ１〜Ｒ（Ｍ＋１）として保持されている経路データにより、経路の表示が行なわれることになる。
【００２５】
このような処理について具体例を上げて説明していく。
今、図３のような道路を考える。この場合、道路を構成する各地点としてノードＮｄ１〜Ｎｄ１１が存在する。
道路、つまりノード間としては距離などに応じてコストが設定されている。各道路のコストは図中（  ）内の数値として示す。例えばノードＮｄ１〜Ｎｄ２の道路のコストは『９』であるとする。
【００２６】
このような道路に対して、まず、ユーザーがノードＮｄ１をスタートノード、ノードＮｄ１０をゴールノードとして設定し、迂回ノード、立寄ノードの設定は行なわなかったとする。
この場合図１の処理としては、ステップＦ１０４でノードＮｄ１が始点ＳＳとされ、またステップＦ１１５でノードＮｄ１０が終点ＥＥとされる。
そしてステップＦ１１６で始点ＳＳから終点ＥＥ、つまりノードＮｄ１からノードＮｄ１０までの最短経路が求められる。
【００２７】
図３からわかるように、ノードＮｄ１からノードＮｄ１０までの経路としては、例えばノードＮｄ９を経由する経路、ノードＮｄ２，Ｎｄ７を経由する経路、ノードＮｄ４，Ｎｄ５，Ｎｄ６，Ｎｄ１１を経由する経路など、多様な経路が考えられるが、各経路についてコストをみてみると、図４に示すようなノードＮｄ２，Ｎｄ７を経由する経路が最も小さいものであることがわかる。即ち、この経路のコストは、９＋７＋１０で算出される『２６』であり、例えばノードＮｄ９を経由する経路のコスト『３３』（＝２１＋１２）よりも小さい。他の経路も『２６』よりは大きいコストとなっている。
従って、このノードＮｄ２，Ｎｄ７を経由する経路が最短経路と判別され、ステップＦ１１７では、図４下部に示すように、Ｎｄ１→Ｎｄ２→Ｎｄ７→Ｎｄ１０というデータが、ルートＲ１として保持される。
そしてステップＦ１１８では、図４のような経路を示す表示が行なわれることになる。
【００２８】
次に、図３のような道路に対して、ユーザーがノードＮｄ１をスタートノード、ノードＮｄ１０をゴールノードとして設定するとともに、ノードＮｄ５を立寄ノードとして設定した場合を考える。
この場合図１の処理としては、まずステップＦ１０４でノードＮｄ１が始点ＳＳとされた後、ステップＦ１０５，Ｆ１０６  の時点で変数Ｍ＝１となっているため、ステップＦ１０７に進み、第１の立寄ノード、即ちノードＮｄ５が終点ＥＥとされる。
【００２９】
そしてステップＦ１０８で始点ＳＳから終点ＥＥ、つまりノードＮｄ１からノードＮｄ５までの最短経路が求められる。
ノードＮｄ１からノードＮｄ５までの経路としては図５に示すようにノードＮｄ２を経由する経路が最短経路と判別される。
そしてステップＦ１０９では、図５下部に示すように、Ｎｄ１→Ｎｄ２→Ｎｄ５というデータが、ルートＲ１として保持される。
【００３０】
続いてステップＦ１１１で変数ｎがインクリメントされｎ＝２とされた後、ステップＦ１１２で、それまで終点ＥＥとされていたノードＮｄ５が始点ＳＳとされる。そしてステップＦ１０６では肯定結果が出るため、ステップＦ１１５でゴールノードＮｄ１０が終点ＥＥとされる。
そしてステップＦ１１６で始点ＳＳから終点ＥＥ、つまりノードＮｄ５からノードＮｄ１０までの最短経路が求められる。
ノードＮｄ５からノードＮｄ１０までの経路としてコスト最小となるのは、図５に示すように、ノードＮｄ２，Ｎｄ７を経由する経路となる。
【００３１】
従って、このノードＮｄ２，Ｎｄ７を経由する経路が最短経路と判別され、ステップＦ１１７では、図５下部に示すように、Ｎｄ５→Ｎｄ２→Ｎｄ７→Ｎｄ１０というデータが、ルートＲ２として保持される。
そしてステップＦ１１８では、図５のような経路、即ちルートＲ１，Ｒ２として保持された経路を示す表示が行なわれることになる。
このような表示により、ユーザーは、ノードＮｄ１からノードＮｄ１０に向かう場合に、ノードＮｄ５に立ち寄るという条件をつけたうえでの最短経路を知ることができるようになる。
【００３２】
次に、図３のような道路に対して、ユーザーがノードＮｄ１をスタートノード、ノードＮｄ１０をゴールノードとして設定するとともに、ノードＮｄ５を迂回ノードとして設定した場合を考える。
ノードＮｄ５を迂回ノードとして設定する場合とは、例えばユーザーがノードＮｄ２〜Ｎｄ７間を通りたくないと思ったような場合である。つまり迂回ノードとしては、通りたくない道路から外れる地点（ノード）を指定すればよい。
【００３３】
この場合図１の処理としては、まずステップＦ１０４でノードＮｄ１が始点ＳＳとされた後、ステップＦ１０５，Ｆ１０６  の時点で変数Ｍ＝１となっているため、ステップＦ１０７に進み、第１の迂回ノード、即ちノードＮｄ５が終点ＥＥとされる。
そしてステップＦ１０８で始点ＳＳから終点ＥＥ、つまりノードＮｄ１からノードＮｄ５までの最短経路が求められる。
ノードＮｄ１からノードＮｄ５までの経路としては図６に示すようにノードＮｄ２を経由する経路が最短経路と判別される。
そしてステップＦ１０９では、図６下部に示すように、Ｎｄ１→Ｎｄ２→Ｎｄ５というデータが、ルートＲ１として保持される。
【００３４】
ここで、終点ＥＥ、つまりノードＮｄ５は迂回ノードであるため、ステップＦ１１０からＦ１１３に進み、ルートＲ１において終点ＥＥの直前のノードであるノードＮｄ２が直前ノードＦＦとされる。そしてステップＦ１１４では終点ＥＥから直前ノードＦＦ、つまりノードＮｄ５からノードＮｄ２に向かう経路を進行禁止経路として設定する。実際の処理としては、Ｎｄ５→Ｎｄ２という経路について最小コスト経路探索処理の対象から外すフラグをたてればよい。
【００３５】
続いてステップＦ１１１で変数ｎがインクリメントされｎ＝２とされた後、ステップＦ１１２で、それまで終点ＥＥとされていたノードＮｄ５が始点ＳＳとされる。そしてステップＦ１０６では肯定結果が出るため、ステップＦ１１５でゴールノードＮｄ１０が終点ＥＥとされる。
そしてステップＦ１１６で始点ＳＳから終点ＥＥ、つまりノードＮｄ５からノードＮｄ１０までの最短経路が求められる。
【００３６】
ノードＮｄ５からノードＮｄ１０までの経路としてコスト最小となるのは、実際にはノードＮｄ２，Ｎｄ７を経由する経路となる。ところが、Ｎｄ５→Ｎｄ２という経路についてはステップＦ１１４の処理で最小コスト経路探索処理の対象から外されているため、このノードＮｄ２を含む経路は例え最小コストであっても最短経路とは判断されない。
【００３７】
即ちこのステップＦ１１６では、ノードＮｄ５からノードＮｄ１０までの経路であって、しかもノードＮｄ２を含まない経路の中で、コスト最小となる経路を判別する処理となる。
これに該当する経路は図６に示すように、ノードＮｄ６，Ｎｄ７を経由する経路となる。
従って、このノードＮｄ６，Ｎｄ７を経由する経路が最短経路と判別され、ステップＦ１１７では、図６下部に示すように、Ｎｄ５→Ｎｄ６→Ｎｄ７→Ｎｄ１０というデータが、ルートＲ２として保持される。
【００３８】
そしてステップＦ１１８では、図６のような経路、即ちルートＲ１，Ｒ２として保持された経路を示す表示が行なわれることになる。
このような表示により、ユーザーは、ノードＮｄ１からノードＮｄ１０に向かう場合に、ノードＮｄ２〜Ｎｄ７間を通らないという条件をつけたうえでの最短経路を知ることができるようになる。
【００３９】
次に、図３のような道路に対して、ユーザーがノードＮｄ１をスタートノード、ノードＮｄ１０をゴールノードとして設定するとともに、ノードＮｄ５を迂回ノードとして設定し、さらにノードＮｄ８を立寄ノードとして設定した場合を考える。
ノードＮｄ５を迂回ノードとして設定する場合とは、上述のように例えばユーザーがノードＮｄ２〜Ｎｄ７間を通りたくないと思ったような場合である。
【００４０】
この場合図１の処理としては、まずステップＦ１０４でノードＮｄ１が始点ＳＳとされた後、ステップＦ１０５，Ｆ１０６  の時点で変数Ｍ＝２となっているため、ステップＦ１０７に進み、第１の立寄または迂回ノード、即ちこの場合は迂回ノードＮｄ５が終点ＥＥとされる。
そしてステップＦ１０８で始点ＳＳから終点ＥＥ、つまりノードＮｄ１からノードＮｄ５までの最短経路が求められる。
【００４１】
ノードＮｄ１からノードＮｄ５までの経路としては図７に示すようにノードＮｄ２を経由する経路が最短経路と判別される。
そしてステップＦ１０９では、図７下部に示すように、Ｎｄ１→Ｎｄ２→Ｎｄ５というデータが、ルートＲ１として保持される。
ここで、終点ＥＥ、つまりノードＮｄ５は迂回ノードであるため、ステップＦ１１０からＦ１１３に進み、ルートＲ１において終点ＥＥの直前のノードであるノードＮｄ２が直前ノードＦＦとされる。そしてステップＦ１１４では終点ＥＥから直前ノードＦＦ、つまりノードＮｄ５からノードＮｄ２に向かう経路を進行禁止経路として設定する。
【００４２】
続いてステップＦ１１１で変数ｎがインクリメントされｎ＝２とされた後、ステップＦ１１２で、それまで終点ＥＥとされていたノードＮｄ５が始点ＳＳとされる。
ステップＦ１０６では変数Ｍ＝２であるので否定結果が出てステップＦ１０７に進み、第２の立寄または迂回ノード、即ちこの場合は立寄ノードＮｄ８が終点ＥＥとされる。
そしてステップＦ１０８で始点ＳＳから終点ＥＥ、つまりノードＮｄ５からノードＮｄ８までの最短経路が求められる。
【００４３】
ここでノードＮｄ５からノードＮｄ８までの経路としては、ノードＮｄ２を経由する経路も存在するが、ノードＮｄ５→Ｎｄ２という経路についてはステップＦ１１４の処理で最小コスト経路探索処理の対象から外されているため、このノードＮｄ２を含む経路は例え最小コストであっても最短経路とは判断されない。
【００４４】
即ちこのステップＦ１０８では、ノードＮｄ５からノードＮｄ８までの経路であって、しかもノードＮｄ２を含まない経路の中で、コスト最小となる経路を判別する処理となる。
これに該当する経路は図７に示すように、ノードＮｄ６，Ｎｄ７を経由する経路となる。
そしてステップＦ１０９では、図７下部に示すように、Ｎｄ１→Ｎｄ２→Ｎｄ５というデータが、ルートＲ２として保持されることになる。
【００４５】
続いてステップＦ１１１で変数ｎがインクリメントされｎ＝３とされた後、ステップＦ１１２で、それまで終点ＥＥとされていたノードＮｄ８が始点ＳＳとされる。
ここでステップＦ１０６では変数Ｍ＝２であるので肯定結果が出、従ってステップＦ１１５でゴールノードＮｄ１０が終点ＥＥとされる。
そしてステップＦ１１６で始点ＳＳから終点ＥＥ、つまりノードＮｄ８からノードＮｄ１０までの最短経路が求められる。
ノードＮｄ８からノードＮｄ１０までの経路としてコスト最小となるのは、図７に示すように、ノードＮｄ７を経由する経路となる。
【００４６】
従って、このノードＮｄ７を経由する経路が最短経路と判別され、ステップＦ１１７では、図７下部に示すように、Ｎｄ８→Ｎｄ７→Ｎｄ１０というデータが、ルートＲ３として保持される。
そしてステップＦ１１８では、図７のような経路、即ちルートＲ１，Ｒ２，Ｒ３として保持された経路を示す表示が行なわれることになる。
このような表示により、ユーザーは、ノードＮｄ１からノードＮｄ１０に向かう場合に、ノードＮｄ２〜Ｎｄ７間を通らないという条件、及びノードＮｄ８に立ち寄るという条件をつけたうえでの最短経路を知ることができる。
【００４７】
以上のように実施例として図１の経路探索処理を行なうナビゲーションシステムでは、単にスタートノードからゴールノードまでの最短経路を表示するだけでなく、ユーザーの事情として立寄地点や迂回地点を考慮したうえでの最短経路を表示することができ、実際の使用に適した非常に便利なものとすることができる。
【００４８】
なお、実際の処理例としては図１にあげたもの以外でも各種考えられ、それらはスタートノード、ゴールノード、迂回ノード、立寄ノード等の指定入力方式や、使用するレジスタ（変数）などの都合により決められればよい。
また、迂回したい場所がある場合は、上述したように、その迂回したい区間から外れたノードを指定するという方式以外に、迂回したいノード間を直接入力するようにすることも考えられる。例えば図６の例でいえば、迂回対象区間としてノードＮｄ２〜Ｎｄ７という区間を入力できるようにしてもよい。
【００４９】
また、図１の処理では説明を省略したが、実際には迂回ノードの設定エラーなどにも対応できるようにするとよい。
例えば図３の道路に対してスタートノードＮｄ１０、ゴールノードＮｄ１としたときに、迂回ノードＮｄ３が入力されたとすると、これは設定ミスとなる。
或はスタートノードＮｄ２、ゴールノードＮｄ９としたときに、迂回ノードＮｄ１，Ｎｄ３が入力されたとすると、これも設定ミスとなる。
このような不適切な設定入力が行なわれた場合はユーザーに対してエラー表示を行ない、設定やり直しを求めるようにすることが好適である。
【００５０】
ところで、実施例では迂回及び立寄という観点で経路探索という処理について説明してきたが、ナビゲーションシステムを使用する際には、道路の渋滞状況に応じて最短経路が求められるようにすることが好適である。つまり、例え距離的には最短経路であっても渋滞により時間的には通行に長時間かかってしまう道路は、最短経路とすることが不適当である。
そこで、渋滞情報などに応じて道路のコストの値が増減されるようにすれば、より好適な最短経路判別が可能となる。
【００５１】
【発明の効果】
以上説明したように本発明の経路探索装置では、迂回ノード、立寄ノードを考慮したうえで最適な経路を判別することができるため、ナビゲーションシステムなどにおいて実際に使用される際に、ユーザーにとって最も適切な情報を提示することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施例の経路探索処理のフローチャートである。
【図２】実施例のナビゲーションシステムのブロック図である。
【図３】経路探索を行なう道路例の説明図である。
【図４】実施例でのスタートノードからゴールノードまでの最短経路の説明図である。
【図５】実施例で立寄ノードを設定した場合のスタートノードからゴールノードまでの最短経路の説明図である。
【図６】実施例で迂回ノードを設定した場合のスタートノードからゴールノードまでの最短経路の説明図である。
【図７】実施例で迂回ノード及び立寄ノードを設定した場合のスタートノードからゴールノードまでの最短経路の説明図である。
【符号の説明】
１  ナビゲーションコントローラ
２  ＣＤ−ＲＯＭプレーヤ
３  ＧＰＳ受信機
４  操作部
５  表示コントローラ
６  モニタ
Ｎｄ１〜Ｎｄ１１  ノード
【図１】
0003557736.tif 000002
【図２】
0003557736.tif 000003
【図３】
0003557736.tif 000004
【図４】
0003557736.tif 000005
【図５】
0003557736.tif 000006
【図６】
0003557736.tif 000007
【図７】
0003557736.tif 000008