(57)【特許請求の範囲】
【請求項１】
ｎ番目（Ｎ以下の自然数：Ｎは３以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上であるとともに、ｎが１〜Ｎの少なくとも１個について複数個取得する目的地候補取得手段と、
道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の前記候補とし、（ｎ−１）番目の目的地の前記候補から出発してｎ番目の目的地の前記候補に到達する中間経路が、ｎ番目の目的地の前記候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての前記中間経路を探索し、探索された前記中間経路をつなぎ合わせて前記出発地からＮ番目の目的地の前記候補までの経路を取得する経路探索手段と、
を備え、
前記経路探索手段は、
ｎ番目の目的地の前記候補に到達する前記中間経路のコストをｎ番目の目的地の前記候補の初期コストとして、（ｎ＋１）番目の目的地の前記候補に到達する前記中間経路のコストを取得し、Ｎ番目の目的地の前記候補に到達する前記中間経路のうち、コストが最少の前記中間経路から逆に前記中間経路を辿ることで前記出発地からＮ番目の目的地の前記候補までの経路を取得する、
経路探索システム。
【請求項２】
コンピュータによって、
ｎ番目（Ｎ以下の自然数：Ｎは３以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得する目的地候補取得工程と、
道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の前記候補とし、（ｎ−１）番目の目的地の前記候補から出発してｎ番目の目的地の前記候補に到達する中間経路が、ｎ番目の目的地の前記候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての前記中間経路を探索し、探索された前記中間経路をつなぎ合わせて前記出発地からＮ番目の目的地の前記候補までの経路を取得する経路探索工程と、
を行い、
前記経路探索工程では、
ｎ番目の目的地の前記候補に到達する前記中間経路のコストをｎ番目の目的地の前記候補の初期コストとして、（ｎ＋１）番目の目的地の前記候補に到達する前記中間経路のコストを取得し、Ｎ番目の目的地の前記候補に到達する前記中間経路のうち、コストが最少の前記中間経路から逆に前記中間経路を辿ることで前記出発地からＮ番目の目的地の前記候補までの経路を取得する、
経路探索方法。
【請求項３】
コンピュータを、
ｎ番目（Ｎ以下の自然数：Ｎは３以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得する目的地候補取得部、
道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の前記候補とし、（ｎ−１）番目の目的地の前記候補から出発してｎ番目の目的地の前記候補に到達する中間経路が、ｎ番目の目的地の前記候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての前記中間経路を探索し、探索された前記中間経路をつなぎ合わせて前記出発地からＮ番目の目的地の前記候補までの経路を取得する経路探索部、
として機能させ、
前記経路探索部は、
ｎ番目の目的地の前記候補に到達する前記中間経路のコストをｎ番目の目的地の前記候補の初期コストとして、（ｎ＋１）番目の目的地の前記候補に到達する前記中間経路のコストを取得し、Ｎ番目の目的地の前記候補に到達する前記中間経路のうち、コストが最少の前記中間経路から逆に前記中間経路を辿ることで前記出発地からＮ番目の目的地の前記候補までの経路を取得するようにコンピュータを機能させる、
経路探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路探索システム、経路探索方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ナビゲーションシステムにおいて経由地点を経由して最終目的地に到達する経路を探索するための各種の技術が開発されている。例えば、特許文献１においては、最終目的地に到達する前に経由地点の付近を通過する経路を探索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２０１０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術においては、最終目的地の前に到達すべき目的地（経由地点）が複数個存在し、かつ、各目的地の候補が複数個存在する場合に、各目的地に到達する経路を探索することができなかった。すなわち、上述の従来技術においては、複数の経由地点から適切な経由地点を選択する構成は想定されていない。しかし、経由すべき目的地が複数個であり、各目的地の候補が複数となる状況は、例えば、出発地以後、コンビニエンスストア、書店を経由して自宅に戻る際に、コンビニエンスストアや書店の候補が複数個存在する状況など、種々の場合に発生し得る。このような場合において、全ての目的地において、複数の候補から次の目的地の候補に到達する中間経路を探索し、探索された全ての中間経路をつなぎ合わせて適切な（例えば、コストが最少となる）経路を探索する構成を採用すると、演算量が多大になってしまう。
本発明は、前記課題にかんがみてなされたもので、最終目的地の前に到達すべき目的地が複数個存在し、かつ、各目的地の候補が複数個存在する場合に、少ない演算量で経路を探索することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、経路探索システムは、ｎ番目（Ｎ以下の自然数：Ｎは２以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得する目的地候補取得手段と、道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の候補とし、（ｎ−１）番目の目的地の候補から出発してｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての中間経路を探索し、探索された中間経路をつなぎ合わせて出発地からＮ番目の目的地の候補までの経路を取得する経路探索手段と、を備える。
【０００６】
また、上記の目的を達成するため、経路探索方法は、ｎ番目（Ｎ以下の自然数：Ｎは２以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得する目的地候補取得工程と、道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の候補とし、（ｎ−１）番目の目的地の候補から出発してｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての中間経路を探索し、探索された中間経路をつなぎ合わせて出発地からＮ番目の目的地の候補までの経路を取得する経路探索工程と、を含むように構成される。
【０００７】
さらに、上記の目的を達成するため、経路探索プログラムは、ｎ番目（Ｎ以下の自然数：Ｎは２以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得する目的地候補取得機能と、道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の候補とし、（ｎ−１）番目の目的地の候補から出発してｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての中間経路を探索し、探索された中間経路をつなぎ合わせて出発地からＮ番目の目的地の候補までの経路を取得する経路探索機能と、をコンピュータに実現させる。
【０００８】
以上のように、経路探索システム、方法、プログラムは、Ｎ個（複数個）の目的地が存在し、Ｎ個の目的地のそれぞれについて１個以上の候補が存在する場合に、（ｎ−１）番目の目的地から出発してｎ番目の目的地に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように中間経路を探索し、中間経路から全体の経路を生成する。すなわち、経路探索システム、方法、プログラムは、ｎ番目の目的地に到達する中間経路をｎ番目の目的地の各候補について１個のみ特定する。
【０００９】
従って、（ｎ＋１）番目の目的地への中間経路を探索する際に、（ｎ−１）番目の目的地の各候補からｎ番目の目的地の各候補に到達する経路の全てが考慮されるのではなく、ｎ番目の目的地の各候補について１個のみが考慮される。この構成によれば、経由すべきではない目的地や走行すべきではない経路を探索の過程において除外することができ、全ての場合を考慮して経路探索を行う場合と比較して少ない演算量で経路を探索することが可能である。
【図面の簡単な説明】
【００１０】
【図１】携帯端末を示すブロック図である。
【図２】経路探索処理を示すフローチャートである。
【図３】（３Ａ）（３Ｂ）は、目的地の候補と中間経路とを模式的に示す図である。
【図４】経路探索処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）ナビゲーション装置の構成：
（２）経路探索処理：
（３）他の実施形態：
【００１２】
（１）ナビゲーション装置の構成：
図１は、本発明の一実施形態である携帯端末１０の構成を示すブロック図である。携帯端末１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える制御部２０を備えており、制御部２０は、当該ＲＯＭや記録媒体３０に記録された所望のプログラムを実行することができる。本実施形態においては、このプログラムの一つとしてナビゲーションプログラムを実行可能である。当該ナビゲーションプログラムは、表示部に現在地と現在地周辺の地図を表示する機能と目的地までの経路を探索して案内する機能を制御部２０に実現させることができる。すなわち、携帯端末１０においてナビゲーションプログラムが実行されることにより、携帯端末１０がナビゲーションシステムとして機能する。なお、本実施形態においては、携帯端末１０が車両（乗用車）内で使用され、車両内で携帯端末１０がナビゲーションシステムとして機能する状態が想定されている。
【００１３】
本実施形態にかかる携帯端末１０は、ＧＰＳ受信部４１とユーザＩ／Ｆ部４２とを備えている。ＧＰＳ受信部４１は、ＧＰＳ衛星からの電波を受信し、図示しないインタフェースを介して携帯端末１０の現在地を算出するための信号を出力する。制御部２０は、当該ＧＰＳ受信部４１の出力信号に基づいて携帯端末１０の現在地を取得する。
【００１４】
ユーザＩ／Ｆ部４２は、利用者の指示を入力し、また利用者に各種の情報を提供するためのインタフェース部であり、図示しないタッチパネルディスプレイからなる入力部を兼ねた表示部やスピーカー等の出力音の出力部、マイクからなる音声入力部を備えている。ユーザＩ／Ｆ部４２は制御信号を制御部２０から受信し、各種案内を行うための画像をタッチパネルディスプレイに表示し、各種案内を行うための出力音をスピーカーから出力する。また、ユーザＩ／Ｆ部４２は、タッチパネルを介した入力内容を示す信号やマイクを介して入力された音声を示す信号を制御部２０に送信し、制御部２０は当該信号に基づいて利用者の入力内容を特定する。
【００１５】
記録媒体３０には地図情報３０ａが予め記録されている。地図情報３０ａは、道路区間の端点に対応するノードの位置等を示すノードデータ、ノード間の道路の形状を特定するための形状補間点の位置等を示す形状補間点データ、ノード同士の連結を示すリンクデータ、店舗や公共施設等の位置および名称を示す施設データ等を含んでいる。なお、本実施形態において、施設データには複数の属性が対応づけられており、地物が施設であることを示す属性や施設の種類を示す属性（コンビニエンスストア、書店、公共施設、レストランなど）等が対応づけられている。さらに、本実施形態において、リンクデータが示す各道路区間には、コストが対応づけられている。
【００１６】
本実施形態におけるナビゲーションプログラムは、複数の目的地の入力を受け付ける機能と出発地から最終目的地までの経路を探索し、案内する機能とを制御部２０に実現させる経路探索プログラム２１を含んでいる。経路探索プログラム２１は、これらの機能を制御部２０に実現させるため、目的地候補取得部２１ａと経路探索部２１ｂとを備えている。
【００１７】
目的地候補取得部２１ａは、ｎ番目（Ｎ以下の自然数：Ｎは２以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上であるとともに、ｎが１〜Ｎの少なくとも１個について複数個取得する機能を制御部２０に実現させるプログラムモジュールである。なお、ｎ番目は、１番目からＮ番目の中の任意の順番を指す。
【００１８】
本実施形態において、制御部２０は、目的地候補取得部２１ａの処理により、ユーザＩ／Ｆ部４２を制御して利用者の文字または音声の入力を受け付ける。また、制御部２０は、当該利用者の入力に基づいて、出発地よりも後に到達すべきＮ個の目的地を取得する。さらに、制御部２０は、利用者の入力順に目的地に訪問順序を付与する。すなわち、制御部２０は、１番目に入力された目的地を１番目とし、以後、入力順に訪問順序を付与し、最後のＮ番目に入力された目的地をＮ番目の（最終の）目的地とする。本実施形態においては、利用者の入力順に目的地に訪問順序を付与するが、むろん、各目的地の訪問順序が任意であってもよく、この場合、各目的地が１番目からＮ番目となるような全ての組み合わせについて経路の探索が行われる。なお、本実施形態において制御部２０は、携帯端末１０の現在地を出発地とするが、むろん、利用者が出発地を指定しても良い。
【００１９】
本実施形態において、利用者は、目的地の座標が特定できるように目的地を入力してもよいし、目的地の候補が複数個となるように目的地を入力してもよい。すなわち、利用者が目的地の座標や名称、住所等を入力した場合において、制御部２０が地図情報３０ａを参照し、入力された内容に合致する施設を１個特定でき、他に候補がない場合、制御部２０は、当該施設を目的地として特定する。
【００２０】
一方、利用者は、施設の属性（例えば、コンビニエンスストア、書店等）を入力することが可能である。この場合、制御部２０は地図情報３０ａを参照し、現在地と最終の目的地との間の領域から入力された属性の施設を検索する。通常は、複数個の施設が検索されるため、制御部２０は、検索された複数個の施設から所定個数の施設を特定し、目的地の候補とする。図３Ａは、利用者に４個の目的地が入力された場合の例を示しており、出発地をＳ、１番目〜４番目の目的地をＧ１〜Ｇ４として示している。また、目的地の候補が存在する場合、図３Ａにおいては目的地を示す符号に小文字のアルファベットを付与して示している。例えば、１番目の目的地Ｇ１には、ａ〜ｃの３個の候補がある。
【００２１】
経路探索部２１ｂは、道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の候補とし、（ｎ−１）番目の目的地の候補から出発してｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての中間経路を探索し、探索された中間経路をつなぎ合わせて出発地からＮ番目の目的地の候補までの経路を取得する機能を制御部２０に実現させるプログラムモジュールである。
【００２２】
すなわち、制御部２０は、経路探索部２１ｂの処理により、（ｎ−１）番目の目的地とｎ番目の目的地との間の中間経路を探索する処理を、全てのｎ（すなわち、ｎが１〜Ｎ）について実行する。当該中間経路の探索に際して、制御部２０は、ｎ番目の目的地の候補のそれぞれについて１個になるように探索を行う。すなわち、制御部２０は、ｎ番目の目的地の各候補に到達する経路の中で、最も小さいコストの経路を中間経路として特定する。
【００２３】
制御部２０が全てのｎについて中間経路を探索する処理を実行し、１番目〜Ｎ番目の各目的地について中間経路が取得されると、制御部２０は、経路探索部２１ｂの処理により、当該中間経路をつなぎ合わせて１本の経路とする。すなわち、制御部２０は、中間経路をつなぎ合わせることにより、出発地から各目的地を経由して最終目的地まで到達する全体の経路を取得する。
【００２４】
以上の構成によれば、制御部２０は、（ｎ＋１）番目の目的地への中間経路を探索する際に、（ｎ−１）番目の目的地の各候補からｎ番目の目的地の各候補に到達する経路の全てを考慮するのではなく、ｎ番目の目的地の各候補について１個のみを考慮する。図３Ａに示す例においては、地点間を結ぶ実線によって中間経路を模式的に示している。中間経路は各目的地の候補に到達する中間経路が１個になるように特定されるため、図３Ａに示す例において、例えば、２番目の目的地Ｇ２ａ〜Ｇ２ｃのそれぞれについて、１番目の目的地Ｇ１から到達する中間経路が１個特定されている。
【００２５】
従って、図３Ａの２番目の目的地Ｇ２のように、１番目の目的地の候補Ｇ１ｃからの中間経路が１個も存在せず、２番目の目的地の候補Ｇ２ｂ，Ｇ２ｃに到達する中間経路が１番目の目的地の候補の１個（Ｇ１ｂ）からの経路であるという状況が発生し得る。このような状況が発生すると、１番目の目的地の候補Ｇ１ｃより先の中間経路が存在しないため、制御部２０は、２番目の目的地より先の中間経路の探索や全体の経路を特定する際に、１番目の目的地の候補Ｇ１ｃを除外して処理を行うことになる。従って、本実施形態によれば、制御部２０は、経由すべきではない目的地や走行すべきではない経路を探索の過程において除外することができる。この結果、制御部２０は、目的地の候補の中から適切な（少ないコストで走行可能な経路上の）目的地を選別しながら経路を探索することになる。このため、制御部２０は、全ての場合を考慮して経路探索を行う場合と比較して少ない演算量で経路を探索することが可能である。
【００２６】
（２）経路探索処理：
次に、経路探索処理について詳細に説明する。図２は、経路探索処理のフローチャートである。本実施形態においては、利用者がユーザＩ／Ｆ部４２によって経路探索の実行指示を行った場合に、制御部２０が経路探索処理を実行する。経路探索処理において、制御部２０は、目的地候補取得部２１ａの処理により、目的地を取得する（ステップＳ１００）。すなわち、制御部２０は、ユーザＩ／Ｆ部４２が出力する信号に基づいて目的地に関して利用者が入力した情報を取得する。制御部２０は、利用者が入力した目的地に順序を付与して１番目からＮ番目の目的地と見なす。
【００２７】
さらに、制御部２０は、地図情報３０ａを参照し、１番目からＮ番目の各目的地について利用者が入力した情報に合致する目的地を検索する。当該検索により、制御部２０は、１番目からＮ番目の各目的地についての候補を１個以上取得する。なお、上述の図３Ａは、ステップＳ１００において、利用者が４個の目的地を入力し、１番目の目的地Ｇ１について３個の候補Ｇ１ａ〜Ｇ１ｃ、２番目の目的地Ｇ２について３個の候補Ｇ２ａ〜Ｇ２ｃ、３番目の目的地Ｇ３について３個の候補Ｇ３ａ〜Ｇ３ｃ、４番目の目的地について１個の候補Ｇ４を取得した場合の例を模式的に示している。
【００２８】
次に、制御部２０は、経路探索部２１ｂの処理により、出発地を取得する（ステップＳ１０５）。すなわち、制御部２０は、ＧＰＳ受信部４１の出力信号に基づいて車両の現在地を取得し、出発地と見なす。次に、制御部２０は、経路探索部２１ｂの処理により、出発地に初期コストを対応づける（ステップＳ１１０）。本実施形態において、出発地の初期コストは０である。次に、制御部２０は、経路探索部２１ｂの処理により、目的地の順序を特定するための変数ｎを１に初期化する（ステップＳ１１５）。
【００２９】
次に、制御部２０は、経路探索部２１ｂの処理により、（ｎ−１）番目の目的地からｎ番目の目的地までの中間経路を探索する（ステップＳ１２０）。すなわち、制御部２０は、地図情報３０ａを参照し、（ｎ−１）番目の目的地の候補の１個を起点とし、ｎ番目の目的地の候補の１個を終点とする探索をダイクストラ法等によって行う。この結果、制御部２０は、起点から終点までの経路として最もコストが小さい経路を取得する。例えば、図３Ａに示す例において、変数ｎが２の場合、制御部２０は、１番目の目的地の候補の１個（例えば、候補Ｇ１ａ）を起点とし、２番目の目的地の候補の１個（例えば、候補Ｇ２ａ）を終点とする最小コストの経路を取得する。なお、本実施形態において、経路のコストは、目的地の候補の初期コストと、中間処理を構成する道路区間に対応づけられたコストの累計である。
【００３０】
さらに、制御部２０は、（ｎ−１）番目の目的地の各候補を起点として同様の探索を行う。例えば、上述の例において、制御部２０は、１番目の目的地の候補Ｇ１ａを起点とし、２番目の目的地の候補Ｇ２ａを終点とする最小コストの経路を取得した後、さらに、１番目の目的地の候補Ｇ１ｂを起点とし、２番目の目的地の候補Ｇ２ａを終点とする最小コストの経路を取得し、１番目の目的地の候補Ｇ１ｃを起点とし、２番目の目的地の候補Ｇ２ａを終点とする最小コストの経路を取得する。
【００３１】
この処理の結果、（ｎ−１）番目の目的地の各候補を起点とし、ｎ番目の目的地の候補の１個を終点とする経路が（ｎ−１）番目の目的地の候補数分取得される。例えば、図３Ａに示す例において、変数ｎが２の場合、２番目の目的地の候補Ｇ２ａを終点とする経路が、１番目の目的地の候補数である３個分取得される。そこで、制御部２０は、最もコストが小さい経路を中間経路として１個特定する。図３Ａにおいては、このようにして取得された中間経路が実線によって模式的に示されている。すなわち、図３Ａにおいては、２番目の目的地の候補Ｇ２ａについて取得された３個の経路のうち、１番目の目的地の候補Ｇ１ａからの経路のコストが最少である例が示されている。なお、この例において、１番目の目的地の候補Ｇ１ａから２番目の目的地の候補Ｇ２ａへの中間経路に付された数字"２５"は、コストの例である。
【００３２】
以上のようにして、ｎ番目の目的地の候補の１個について中間経路を１個特定する処理が行われると、ｎ番目の目的地の残りの候補についても同様にして中間経路を１個特定する処理が行われる。例えば、上述の例であれば、２番目の目的地の残りの候補である候補Ｇ２ｂ，Ｇ２ｃへの中間経路を１個特定する。図３Ａにおいては、この結果、候補Ｇ１ｂから候補Ｇ２ｂへの中間経路（コスト３５）と候補Ｇ１ｃから候補Ｇ２ｃへの中間経路（コスト３０）が取得された例を示している。
【００３３】
次に、制御部２０は、経路探索部２１ｂの処理により、目的地の順序を特定するための変数ｎが最大値Ｎであるか否かを判定する（ステップＳ１２５）。ステップＳ１２５において、変数ｎが最大値Ｎであると判定されない場合、制御部２０は、中間経路のコストをｎ番目の目的地の初期コストに設定する（ステップＳ１３５）。すなわち、制御部２０は、ｎ番目の目的地の候補に到達する中間経路のコストをｎ番目の目的地の候補の初期コストとする。
【００３４】
例えば、図３Ａに示す例において、ｎが１の場合、ステップＳ１２０の処理により、０番目の目的地（出発地）から１番目の目的地までの中間経路が取得されている。図３Ａに示す例においては、候補Ｇ１ａ〜Ｇ１ｃのそれぞれに到達するための中間経路のコストが１０，１５，２０である。ステップＳ１３５において制御部２０は、これらの中間経路のコストを１番目の目的地の候補の初期コストに設定するため、１番目の目的地の候補Ｇ１ａ〜Ｇ１ｃの初期コストは、１０，１５，２０になる。図３Ａにおいては、目的地の候補を示す丸の上方に初期コストを示している。
【００３５】
初期コストが設定されると、制御部２０は、経路探索部２１ｂの処理により、目的地の順序を特定するための変数ｎをインクリメントし（ステップＳ１４０）、ステップＳ１２０以降の処理を繰り返す。当該処理により、制御部２０は、ｎ番目の目的地の候補に到達する中間経路のコストをｎ番目の目的地の候補の初期コストとして、（ｎ＋１）番目の目的地の候補に到達する中間経路を探索することになる。この構成により、制御部２０は、（ｎ＋１）番目の目的地の候補に到達する中間経路を探索する際に、ｎ番目の目的地の候補以前の中間経路を実質的に考慮した状態で中間経路を探索することができる。
【００３６】
一方、ステップＳ１２５において、目的地の順序を特定するための変数ｎが最大値Ｎであると判定された場合、すなわち、最終目的地についての中間経路の探索が終了した場合、経路探索部２１ｂの処理により、中間経路を逆に辿って全体の経路を取得し、出力する（ステップＳ１３０）。具体的には、制御部２０は、Ｎ番目の目的地の候補に到達する中間経路のうち、コストが最少の中間経路から逆に中間経路を辿ることで出発地からＮ番目の目的地の候補までの経路を取得する。
【００３７】
すなわち、本実施形態においては、ｎ番目の目的地の候補のそれぞれについて中間経路が１個取得されているため、中間経路を逆に辿る場合、各目的地の候補については必ず１個の中間経路が特定されていることになる。従って、中間経路を逆に辿る場合、逆に辿れる中間経路が１個しか存在しないことになり、制御部２０は、単に中間経路を逆に辿るのみで全体の経路を取得することができる。
【００３８】
例えば、図３Ａに示す例において、４番目の目的地まで中間経路の探索が終了している状況で、制御部２０は中間経路を逆に辿る。このため、まず制御部２０は、４番目の目的地の候補に到達する中間経路の中で、最少のコストの中間経路を選択する。図３Ａに示す例において、４番目の目的地の候補は１個であるため、制御部２０は、４番目の目的地の候補Ｇ４に到達する中間経路Ｒ34を最少のコストの中間経路として選択するが、４番目の目的地の候補Ｇ４が２個以上であれば、各候補に到達する中間経路の中から最少のコストの中間経路が選択される。
【００３９】
中間経路Ｒ34の起点は３番目の目的地の候補Ｇ３ｃであるため、次に、制御部２０は、３番目の目的地の候補Ｇ３ｃに到達する中間経路Ｒｃ23を選択する。また、中間経路Ｒｃ23の起点は２番目の目的地の候補Ｇ２ｃであるため、次に、制御部２０は、２番目の目的地の候補Ｇ２ｃに到達する中間経路Ｒｃ12を選択する。さらに、中間経路Ｒｃ12の起点は１番目の目的地の候補Ｇ１ｂであるため、次に、制御部２０は、１番目の目的地の候補Ｇ１ｂに到達する中間経路Ｒｂ01を選択する。中間経路Ｒｂ01の起点は出発地Ｓであるため、制御部２０は、取得した中間経路をつなぎ合わせて出発地から４番目の目的地までの経路として取得する。すなわち、制御部２０は、中間経路Ｒｂ01，Ｒｃ12，Ｒｃ23，Ｒ34を全体の経路として取得する。
【００４０】
以上のようにして、出発地からＮ番目の目的地の候補までの経路が取得されると、制御部２０は、当該経路を含む地図をユーザＩ／Ｆ部４２の表示部に表示するための制御信号を出力する。ユーザＩ／Ｆ部４２は、当該信号に基づいて、表示部に当該経路を含む地図を表示する。
【００４１】
（３）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、ｎ番目の目的地の候補のそれぞれについて中間経路を１個探索し、中間経路をつなぎ合わせることで出発地から最終目的地までの経路を取得する限りにおいて、他にも種々の実施形態を採用可能である。例えば、汎用的な携帯端末１０ではなく専用端末によって本発明の実施形態を構成しても良い。車両以外の移動方法で移動する利用者が、携帯端末１０のナビゲーション機能を利用できるように構成されていても良い。この場合、車両以外の移動方法、例えば、徒歩で移動可能な道路区間について地図情報３０ａが定義される。
【００４２】
さらに、本発明の構成要素が複数の装置に分かれて存在してもよい。例えば、目的地候補取得部２１ａが携帯端末１０の制御部２０で実現され、経路探索部２１ｂがサーバーの制御部で実現される構成等を採用可能である。この場合、携帯端末１０とサーバーは通信可能な通信部を備えており、目的地候補取得部２１ａの処理によって取得された目的地や出発地が、通信を介してサーバーに送信され、経路探索部２１ｂの処理によって取得された経路が携帯端末１０に返信され、利用される構成となる。
【００４３】
さらに、複数の移動手段の利用を想定した経路探索を行う経路探索システムにおいて本発明を実施してもよい。例えば、移動手段として、乗用車、徒歩、鉄道を想定した経路探索を行う経路探索システムに本発明を適用する場合、地図情報３０ａにおいては、移動手段毎に定義されたノードデータ、形状補間データ、リンクデータ、施設データ等を含むように構成される。むろん、各区間を示すリンクデータにはコストが対応づけられるが、ここでは、各移動手段による移動経路を比較し得る指標、例えば、所要時間等によってコストが定義されることが好ましい。
【００４４】
また、ノードデータや施設データには、移動手段を変更可能であるか否かを示す情報が対応づけられる。例えば、駅を示すノードデータには、移動手段を徒歩と鉄道とで相互に変更可能であることを示す情報が対応づけられる。また、駐車場を示す施設データには、移動手段を乗用車から徒歩に変更可能であることを示す情報が対応づけられる。むろん、移動手段は３種類以上に変更可能であってもよいし、第１の移動手段から第２の移動手段に変更可能であるが、当該第２の移動手段から第１の移動手段には変更不可能であってもよい。後者としては、例えば、駐車場において乗用車から徒歩への変更は可能（駐車場に駐車して歩くことが可能）である一方、徒歩から乗用車への変更は不可能（駐車場に搭乗可能な乗用車が存在しない）である例が挙げられる。むろん、条件によって移動手段の変更が可能であるか否かを決定する構成、例えば、駐車場に利用者が搭乗可能な乗用車が存在する地点では徒歩から乗用車への変更が可能であるとみなす構成等を採用してもよい。
【００４５】
図４は、複数の移動手段の利用を想定した経路探索処理の例である。本例においては、乗用車、徒歩、鉄道の利用が想定されている。この処理は、例えば、図１に示す制御部２０が図４に示す経路探索処理を実行することによって実現される。本実施形態において、ステップＳ２００〜Ｓ２１５は、図２に示すステップＳ１００〜Ｓ１１５と同様の処理である。
【００４６】
ステップＳ２２０において、制御部２０は、経路探索部２１ｂの処理により、（ｎ−１）番目の目的地からｎ番目の目的地までの乗用車での中間経路を探索する。すなわち、制御部２０は、地図情報３０ａを参照し、（ｎ−１）番目の目的地の候補の１個を起点とし、ｎ番目の目的地の候補の１個を終点とする探索をダイクストラ法等によって行う。なお、本実施形態においては、複数の移動手段が想定されており、任意の（ｎ番目の）目的地の候補は、同一施設を示す異なる移動手段についてのノードである場合がある。
【００４７】
図３Ｂに示す例においては、出発地の後、１番目の目的地Ｇ１と２番目の目的地Ｇ２とを訪問する経路を模式的に示している。同図３Ｂにおいて、実線は乗用車の経路、破線は徒歩の経路、一点鎖線は鉄道の経路を示している。また、図３Ｂにおいて１番目の目的地Ｇ１の候補Ｇ１ａ，Ｇ１ｂは、同一施設を示すノードであるとともに、候補Ｇ１ａは乗用車で目的地Ｇ１に到達する位置を示すノードであり、候補Ｇ１ｂは徒歩で目的地Ｇ１に到達する位置を示すノードである。同様に、２番目の目的地Ｇ２の候補Ｇ２ａ，Ｇ２ｂは、それぞれ、乗用車、徒歩によって目的地Ｇ２に到達する位置を示すノードである。このように、任意の（ｎ番目の）目的地の候補は、各種の移動手段で到達可能な地点を示すノードとなり得るので、制御部２０は、ステップＳ２２０において、各種の移動手段についてダイクストラ法等で中間経路を探索する。
【００４８】
なお、ダイクストラ法等の探索において制御部２０は、既存の経路のコストを算出しながらノード単位で経路を延長していく。制御部２０は、新たなノードまで経路を延長するたびにステップＳ２２５以後の処理を行う。具体的には、ステップＳ２２５において、制御部２０は、乗用車の中間経路の探索が終了したか否かを判定する。
【００４９】
すなわち、制御部２０は、乗用車で走行可能な経路についてノード単位で経路を延長する処理を行った段階で、最後のノードがｎ番目の目的地の候補である場合、他の乗用車の経路の候補のコストを参照し、目的地未到達の他の経路のコストがｎ番目の目的地の候補のコストよりも大きいか否かを判定する。他の経路の候補のコストがｎ番目の目的地の候補のコストよりも大きい場合、制御部２０は、探索済の経路が最小コストであると見なし、乗用車の中間経路の探索が終了したとみなす。乗用車で走行可能な経路についてノード単位で経路を延長する処理を行った段階で、最後のノードがｎ番目の目的地の候補でない場合、制御部２０は、乗用車の中間経路の探索が終了していないとみなす。
【００５０】
ステップＳ２２５において、乗用車の中間経路の探索が終了したと判定されない場合、制御部２０は、乗用車でｎ番目の目的地まで到達不可能であるか否かを判定する（ステップＳ２３０）。ここで、ｎ番目の目的地まで到達不可能であるとは、例えば、乗用車で到達可能なノードとして、ｎ番目の目的地を示すノードや、（ｎ−１）番目の目的地を示すノードが存在しない場合、探索中の経路の距離が閾値以上（過度に経路の距離が長くなっている）である場合等が挙げられる。乗用車でｎ番目の目的地まで到達不可能であると判定されない場合、制御部２０は、ステップＳ２２０以降の処理を実行し、探索を継続する。
【００５１】
一方、ステップＳ２２５において乗用車の中間経路の探索が終了したと判定された場合、または、ステップＳ２３０において乗用車でｎ番目の目的地まで到達不可能であると判定された場合、制御部２０は、徒歩の中間経路の探索が終了したか否かを判定する（ステップＳ２３５）。
【００５２】
すなわち、制御部２０は、徒歩で走行可能な経路についてノード単位で経路を延長する処理を行った段階で、最後のノードがｎ番目の目的地の候補である場合、他の徒歩の経路の候補のコストを参照し、目的地未到達の他の経路のコストがｎ番目の目的地の候補のコストよりも大きいか否かを判定する。他の経路の候補のコストがｎ番目の目的地の候補のコストよりも大きい場合、制御部２０は、探索済の経路が最小コストであると見なし、徒歩の中間経路の探索が終了したとみなす。徒歩で走行可能な経路についてノード単位で経路を延長する処理を行った段階で、最後のノードがｎ番目の目的地の候補でない場合、制御部２０は、徒歩の中間経路の探索が終了していないとみなす。
【００５３】
ステップＳ２３５において、徒歩の中間経路の探索が終了したと判定されない場合、制御部２０は、徒歩でｎ番目の目的地まで到達不可能であるか否かを判定する（ステップＳ２４０）。ここで、ｎ番目の目的地まで到達不可能であるとは、例えば、徒歩で到達可能なノードとして、ｎ番目の目的地を示すノードや、（ｎ−１）番目の目的地を示すノードが存在しない場合、探索中の経路の距離が閾値以上（過度に経路の距離が長くなっている）である場合等が挙げられる。徒歩でｎ番目の目的地まで到達不可能であると判定されない場合、制御部２０は、ステップＳ２２０以降の処理を実行し、探索を継続する。
【００５４】
なお、本実施形態においては、鉄道での移動後、必ず徒歩での移動が行われ、その後に、目的地の候補に到達し得ると見なしているが、鉄道の移動によって目的地の候補に到達し得る場合、制御部２０が鉄道の中間経路の探索が終了したか否かを判定してもよい。
【００５５】
ステップＳ２３５において徒歩の中間経路の探索が終了したと判定された場合、または、ステップＳ２４０において徒歩でｎ番目の目的地まで到達不可能であると判定された場合、複数の移動手段を利用し得る状態での中間経路の探索が終了している。例えば、図３Ｂに示す例においては、１番目の目的地の候補Ｇ１ａ、Ｇ１ｂのそれぞれについての中間経路、すなわち、乗用車で１番目の目的地の候補Ｇ１ａに到達する中間経路、徒歩で１番目の目的地の候補Ｇ１ｂに到達する中間経路の探索が終了している。また、２番目の目的地の候補Ｇ２ａ、Ｇ２ｂのそれぞれについての中間経路、すなわち、乗用車で２番目の目的地の候補Ｇ２ａに到達する中間経路、徒歩で２番目の目的地の候補Ｇ２ｂに到達する中間経路の探索が終了している。
【００５６】
なお、各中間経路は、目的地の候補に到達する際の移動手段が乗用車、徒歩であるが、移動手段は変更可能であるため、目的地より前の移動手段は乗用車、徒歩に限定されない。例えば、候補Ｇ１ｂに到達する中間経路の最後において移動手段は徒歩であるが、その途中に存在する駅間での移動手段は鉄道である。また、最初の駅までの移動手段は乗用車と徒歩とがあり得る。
【００５７】
いずれにしても、複数の移動手段を利用し得る状態での中間経路の探索が終了している場合、制御部２０は、ステップＳ２５０以降を実行する。なお、ステップＳ２５０，Ｓ２５５，Ｓ２６０，Ｓ２６５は、それぞれ、ステップＳ１２５，Ｓ１３０，Ｓ１３５，Ｓ１４０と同様である。ただし、ステップＳ２５５において、制御部２０は、移動手段毎に出発地から目的地までの経路を特定する。すなわち、乗用車、徒歩のいずれでも目的地に到達できる場合においては、双方の経路が特定される。また、ステップＳ２６０において、制御部２０は、移動手段毎に、中間経路のコストをｎ番目の目的地の初期コストに設定する。さらに、ステップＳ２５５において、制御部２０が、経路を含む地図をユーザＩ／Ｆ部４２の表示部に表示する際には、移動手段が区別できるように経路を表示する。なお、ここでは、移動手段毎に出発地から目的地までの経路を表示する構成としたが、むろん、最もコストが小さい移動手段での経路を探索、または、表示する構成であってもよい。
【００５８】
なお、目的地候補取得手段は、ｎ番目（Ｎ以下の自然数：Ｎは２以上）の目的地の候補を、ｎが１〜Ｎのそれぞれについて１個以上取得することができればよい。すなわち、目的地候補取得手段においては、出発地よりも後に到達すべきＮ個の地点を目的地とし、各目的地について１個以上の候補を取得することができればよい。目的地は、種々の手法で特定可能であり、例えば、利用者の入力に基づいて特定されてもよいし、利用者の走行履歴等に基づいて特定されてもよい。
【００５９】
また、目的地は座標が特定できるように指定されても良いが、ある目的地の候補が複数個となるように指定される場合においては、必ずしも座標が特定できるように指定される必要はない。例えば、目的地の属性や目的地での利用者の行為（食事をする、買い物をする等）によって目的地が指定され、当該指定に基づいて目的地の候補が特定されてもよい。また、Ｎは２以上であり、目的地が複数個である状況、すなわち、最終目的地までに少なくとも１カ所の目的地を経由する状況が想定されている。
【００６０】
なお、ｎ番目は、１番目からＮ番目まで目的地に順番が付与されている状況において任意の順番を指す。そして、中間経路が探索される際には、複数の目的地の順番が決められるが、むろん、順番を可換にして中間経路が探索されてもよい。例えば、目的地としてコンビニエンスストアと書店とが取得された場合において、１番目の目的地をコンビニエンスストア、２番目の目的地を書店として経路が探索された後に、１番目の目的地を書店、２番目の目的地をコンビニエンスストアとして経路が探索されてもよい。
【００６１】
経路探索手段は、道路区間の連結を示す地図情報に基づいて、出発地を０番目の目的地の候補とし、（ｎ−１）番目の目的地の候補から出発してｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、ｎが１からＮの各場合についての中間経路を探索し、探索された中間経路をつなぎ合わせて出発地からＮ番目の目的地の候補までの経路を取得することができればよい。すなわち、経路探索手段は、ｎ番目の目的地の候補に到達する中間経路が、ｎ番目の目的地の候補のそれぞれについて１個になるように、中間経路を順次探索し、つなぎ合わせて全体の経路を取得することができればよい。なお、０番目の目的地は１個であるため、０番目の目的地の候補は出発地を意味する。
【００６２】
経路探索手段は、種々の手法によって中間経路を探索することが可能であり、例えば、ダイクストラ法等によってノードで区切られた各道路区間に対応づけられたコストの累積値が最少になる経路を探索することで中間経路を取得することができる。むろん、コストは、種々の指標によって定義可能であり、複数の指標によってコストが定義されてもよい。種々の指標としては、例えば、道路区間の距離、所要時間、渋滞度等が挙げられる。
【００６３】
また、経路探索手段においては、ｎ番目の目的地の候補のそれぞれについて１個の中間経路を特定することができればよく、例えば、コストに基づいて中間経路を特定する場合、（ｎ−１）番目の目的地の各候補を起点とし、ｎ番目の目的地の候補の１個を終点とする探索を行い、最もコストが小さい経路を中間経路とする探索を、ｎ番目の目的地の各候補について実行する構成等を採用可能である。
【００６４】
さらに、１番目〜Ｎ番目の各目的地について中間経路が取得されると、経路探索手段は、当該中間経路をつなぎ合わせて１本の経路とすることで、出発地から各目的地を経由して最終目的地まで到達する全体の経路を取得することができる。
【００６５】
このような構成の例として、例えば、経路探索手段が、ｎ番目の目的地の候補に到達する中間経路のコストをｎ番目の目的地の候補の初期コストとして、（ｎ＋１）番目の目的地の候補に到達する中間経路のコストを取得し、Ｎ番目の目的地の候補に到達する中間経路のうち、コストが最少の中間経路から逆に中間経路を辿ることで出発地からＮ番目の目的地の候補までの経路を取得する構成を採用してもよい。
【００６６】
すなわち、ｎ番目の目的地の候補から（ｎ＋１）番目の目的地の候補に到達する中間経路を探索する場合、経路探索手段は、ｎ番目の目的地の候補以前の中間経路のコストの累計をｎ番目の目的地の候補として探索を行う。この構成により、経路探索手段は、（ｎ＋１）番目の目的地の候補に到達する中間経路を探索する際に、ｎ番目の目的地の候補以前の中間経路を実質的に考慮した状態で中間経路を探索することができる。
【００６７】
さらに、経路探索手段は、ｎ番目の目的地の候補のそれぞれについて中間経路を１個取得するため、中間経路を逆に辿る場合、各目的地の候補については必ず１個の中間経路が特定されている。従って、中間経路を逆に辿る場合、逆に辿れる中間経路が１個しか存在しないことになり、経路探索手段が、単に中間経路を逆に辿るのみで全体の経路を取得することができる。なお、ｎ番目の目的地の候補が１個である場合、当該１個の候補に到達する１個の中間経路が、コストが最少の中間経路となるため、経路探索手段は、当該１個の中間経路を起点に中間経路を逆に辿っていけばよい。
【００６８】
さらに、本発明のように、ｎ番目の目的地の候補のそれぞれについて中間経路を１個探索し、中間経路をつなぎ合わせることで出発地から最終目的地までの経路を取得する手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合や、複数の装置によって実現される場合が想定可能であり、各種の態様を含むものである。例えば、以上のような手段を備えたナビゲーションシステムや方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【００６９】
１０…携帯端末、２０…制御部、２１…経路探索プログラム、２１ａ…目的地候補取得部、２１ｂ…経路探索部、３０…記録媒体、３０ａ…地図情報、４１…ＧＰＳ受信部、４２…ユーザＩ／Ｆ部
【図１】
0006376954.tif 000002
【図２】
0006376954.tif 000003
【図３】
0006376954.tif 000004
【図４】
0006376954.tif 000005