説明

経路探索装置、経路探索システム、プログラム、及び経路探索方法

始点から終点までの移動に用いるべき移動経路を探索する経路探索装置であって、始点及び終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理部と、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択するブロック選択部と、ブロック選択部が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由して、始点から終点に至る移動経路を生成する移動経路生成部と、当該移動経路に含まれるブロック内経路に対応する内経路コストに基づき、当該移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部とを備える。

【発明の詳細な説明】
【技術分野】
本発明は、経路探索装置、経路探索システム、プログラム、及び経路探索方法に関する。特に本発明は、始点から終点までの移動に用いるべき移動経路を探索する経路探索装置に関する。
【背景技術】
従来、複数のノードを利用して経路探索を行う方法が知られている。当該方法においては、それぞれのノード間の距離等に基づいて経路探索を行う。
しかし、始点と終点との間に多くのノードが存在する場合、経路探索に必要な演算量が増大するため、経路探索に時間がかかる場合があった。そのため、従来、経路探索を効率よく行うのが困難な場合があった。
そこで本発明は、上記の課題を解決することのできる経路探索装置、経路探索システム、プログラム、及び経路探索方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【発明の開示】
このような目的を達成するために、本発明の第1の形態によれば、始点から終点までの移動に用いるべき移動経路を探索する経路探索装置であって、始点及び終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理部と、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択するブロック選択部と、ブロック選択部が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由して、始点から終点に至る移動経路を生成する移動経路生成部と、移動経路に含まれるブロック内経路に対応する内経路コストに基づき、移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部とを備える。
また、少なくとも一部のブロック領域は、当該ブロック領域の内部と外部とを結ぶ、少なくとも3個の出入口を有し、ブロック管理部は、少なくとも一部のブロック領域のそれぞれに対応して、それぞれが少なくとも3個の出入口のうちの2個を一端及び他端とし、互いに異なる少なくとも2個のブロック内経路を管理してよい。
また、それぞれのブロック領域は、当該ブロック領域と、全体領域において当該ブロック領域に隣接するブロック領域とを接続する複数の出入口を有し、ブロック管理部は、複数の出入口のうちの2個の出入口の組み合わせを、ブロック内経路として管理し、当該2個の出入口の間における移動コストを、当該ブロック内経路に対応する内径路コストとして管理し、ブロック選択部は、複数のブロック領域の少なくとも一部として、互いに隣接する2個のブロック領域を選択し、移動経路生成部は、2個のブロック領域に対し、それぞれのブロック領域におけるブロック内経路を、当該2個のブロック領域を接続する出入口を介して接続することにより、移動経路の少なくとも一部を生成してよい。
また、移動経路生成部は複数の移動経路を生成し、移動コスト算出部は、複数の移動経路に対し、それぞれの経路移動コストを算出し、経路検索装置は、それぞれの経路移動コストに基づき、複数の移動経路から一の移動経路を選択する経路選択部を更に備えてよい。
また、ブロック管理部は、複数のブロック領域を挟んで互いに離間されたブロック領域である2個の離間ブロックに対し、当該2個の離間ブロックの間の移動コストである離間移動コストを更に管理し、ブロック選択部は、複数のブロック領域の少なくとも一部として、始点を含むブロック領域である始点ブロックと、終点を含むブロック領域である終点ブロックとを選択し、移動経路生成部は、始点ブロックに含まれるブロック内経路に基づき、始点から一の離間ブロックに至る始点経路を生成し、終点ブロックに含まれるブロック内経路に基づき、他の離間ブロックから終点に至る終点経路を生成することにより、始点経路及び終点経路を経由する移動経路を生成し、移動コスト算出部は、始点経路及び終点経路のそれぞれに含まれるブロック内経路に対応する内経路コストに基づき、始点経路及び終点経路における移動コストである始点移動コスト及び終点移動コストのそれぞれを算出し、始点移動コスト、終点移動コスト、及び離間移動コストに基づき、経路移動コストを算出してよい。
また、ブロック選択部は、始点ブロックの近傍のブロック領域である始点近傍ブロックと、終点ブロックの近傍のブロック領域である終点近傍ブロックと、を更に選択し、移動経路生成部は、始点ブロック及び始点近傍ブロックのそれぞれに含まれるブロック内経路を経由することにより、始点から一の離間ブロックに至る始点経路と、終点近傍ブロック及び終点ブロックのそれぞれに含まれるブロック内経路を経由することにより、他の離間ブロックから終点に至る終点経路とを生成してよい。
また、ブロック管理部は、全体領域を分割した複数のブロック領域である複数の全体分割ブロックと、複数の全体分割ブロックのそれぞれを更に分割した複数の領域に対応する複数のブロック領域である複数の部分分割ブロックとそれぞれに対応する内経路コストを管理し、ブロック選択部は、複数のブロック領域の少なくとも一部として、始点を含む部分分割ブロックである始点ブロックと、終点を含む部分分割ブロックである終点ブロックと、それぞれが始点及び終点のいずれも含まない全体分割ブロックである一又は複数の中間ブロックとを選択し、移動経路生成部は、始点ブロックに含まれるブロック内経路に基づく始点経路と、一又は複数の中間ブロックのそれぞれに含まれるブロック内経路に基づく中間経路と、終点ブロックに含まれるブロック内経路に基づく終点経路とをそれぞれ生成することにより、始点経路、中間経路、及び終点経路を経由する移動経路を生成してよい。
また、ブロック選択部は、始点ブロックの近傍の部分分割ブロックである始点近傍ブロックと、終点ブロックの近傍の部分分割ブロックである終点近傍ブロックとを更に選択し、移動経路生成部は、始点ブロック及び始点近傍ブロックのそれぞれに含まれるブロック内経路を経由することにより、始点からいずれかの中間ブロックに至る始点経路と、終点近傍ブロック及び終点ブロックのそれぞれに含まれるブロック内経路を経由することにより、いずれかの中間ブロックから終点に至る終点経路とを生成してよい。
また、移動経路の途中に経由すべき経由点の指定を受け付ける受付部を更に備え、ブロック選択部は、複数のブロック領域の一部として、経由点を含む部分分割ブロックである経由点ブロックを更に選択し、移動経路生成部は、経由点ブロックに含まれるブロック内経路に更に基づき、移動経路を生成してよい。
また、ブロック選択部は、経由点ブロックの近傍の部分分割ブロックである経由点近傍ブロックを更に選択し、移動経路生成部は、経由点ブロック及び経由点近傍ブロックのそれぞれに含まれるブロック内経路を経由することにより、いずれかの中間ブロックから、経由点を経由して、いずれかの中間ブロックに至る経由経路を生成し、経由経路を経由する移動経路を生成してよい。
また、ブロック管理部は、ブロック内経路沿いに位置する施設を示すブロック施設情報を更に管理し、経路検索装置は、移動経路が経由するブロック内経路に対応するブロック施設情報に基づき、当該移動経路沿いに位置する施設を示す経路施設情報を生成する施設情報生成部と、移動経路を示す情報を、当該移動経路に対応する経路施設情報と対応付けて出力する情報出力部とを更に備えてよい。
また、ブロック管理部は、ブロック内経路を用いて移動した場合の所要時間の誤差範囲を示すブロック内誤差情報を更に管理し、経路検索装置は、移動経路が経由するブロック内経路に対応するブロック内誤差情報に基づき、当該移動経路を用いて移動した場合の所要時間の誤差範囲を示す経路誤差情報を算出する誤差情報算出部と、移動経路を示す情報を、当該移動経路に対応する経路誤差情報と対応付けて出力する情報出力部とを更に備えてよい。
また、ブロック管理部は、経路検索装置の外部に設けられたサーバから、内径路コストを更新するための更新コスト情報を受け取り、当該更新コスト情報に基づき、少なくとも一部の内径路コストを更新してよい。
また、ブロック選択部は、予め定められた形状のテンプレート図形を格納するテンプレート格納部と、テンプレート図形を、始点及び終点を含む大きさに拡大又は縮小する図形サイズ変更部と、拡大又は縮小されたテンプレート図形を、始点及び終点の位置を基準として全体領域上に配置し、配置されたテンプレート図形を含む複数のブロック領域を選択する選択実行部とを有してよい。
また、全体領域の少なくとも一部の状態を取得する状態取得部を更に備え、ブロック管理部は、少なくとも一部のブロック内経路を、当該ブロック内経路の使用の可否を示す使用可否情報と対応付けて管理し、かつ、状態取得部が取得した状態に基づき、当該ブロック内経路に対する使用可否情報を変更し、移動経路生成部は、使用可否情報に基づいてブロック内経路の使用の可否を判定することにより、使用可能なブロック内経路に基づき、移動経路を生成してよい。
本発明の第2の形態によれば、始点から終点までの移動に用いるべき移動経路を探索する経路探索システムであって、始点及び終点を含む全体領域を分割した複数のブロック領域の少なくとも一部に対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを更新するための更新コスト情報を格納するサーバと、サーバと通信する端末とを備え、端末は、複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する内経路コストを管理し、かつ、サーバから受け取る更新コスト情報に基づき、少なくとも一部のブロック領域に対応する内径路コストを更新するブロック管理部と、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択するブロック選択部と、ブロック選択部が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由して、始点から終点に至る移動経路を生成する移動経路生成部と、移動経路に含まれるブロック内経路に対応する内経路コストに基づき、移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部とを有する。
本発明の第3の形態によれば、始点から終点までの移動に用いるべき移動経路を探索するプログラムであって、始点及び終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理部と、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択するブロック選択部と、ブロック選択部が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由して、始点から終点に至る移動経路を生成する移動経路生成部と、移動経路に含まれるブロック内経路に対応する内経路コストに基づき、移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部とを備える。
本発明の第4の形態によれば、始点から終点までの移動に用いるべき移動経路を探索する経路探索方法であって、始点及び終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理段階と、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択するブロック選択段階と、ブロック選択部が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由して、始点から終点に至る移動経路を生成する移動経路生成段階と、移動経路に含まれるブロック内経路に対応する内経路コストに基づき、移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出段階とを備える。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】
図1は、本発明の一実施形態に係る経路探索システム50の構成の一例を示す図である。
図2は、ブロック管理部104が管理する複数のブロック領域の一例を示す図である。
図3は、1次ブロック304aの詳細な構成を示す図である。
図4は、経路探索装置100の動作の一例を示すフローチャートである。
図5は、経路探索装置100の動作の一例を説明する図である。
図6は、ブロック選択部112の構成の一例を示す図である。
図7は、経路探索装置100のハードウェア構成を示す図である。
【発明を実施するための最良の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係る経路探索システム50の構成の一例を示す。本例の経路探索システム50は、始点及び終点間の移動経路を、高速に探索する。経路探索システム50は、経路探索装置100及びサーバ150を備える。
サーバ150は、経路探索装置100の外部に設けられており、経路探索装置100が経路探索に用いるための情報を、経路探索装置100に与える。経路探索装置100は、サーバ150と通信する端末の一例である。また、経路探索装置100は、例えば、カーナビゲーション装置であり、予め設定された全体領域において、始点から終点までの移動に用いるべき移動経路を探索する。
経路探索装置100は、ブロック情報格納部106、施設情報格納部108、誤差情報格納部110、ブロック管理部104、ブロック選択部112、移動経路生成部114、移動コスト算出部116、施設情報生成部120、誤差情報算出部122、経路選択部118、及び情報入出力部102を有する。
ブロック情報格納部106は、全体領域を分割した複数のブロック領域のそれぞれに対応する情報を格納する。本例において、ブロック情報格納部106は、それぞれのブロック領域に対応して、そのブロック領域に含まれる経路である一又は複数のブロック内経路と、それぞれブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストとを対応付けたブロック情報を格納する。
ブロック情報格納部106は、内径路コストとして、例えば、対応するブロック内経路を通過するのに要する時間又は料金、そのブロック内経路における曲がり角又は信号数、そのブロック内経路における天候、そのブロック内経路の道路幅又はその他の特徴等の移動コストを、内径路コストとして格納する。
施設情報格納部108は、それぞれのブロック内経路に対応付けて、そのブロック経路沿いに位置する施設を示すブロック施設情報を格納する。施設情報格納部108は、ブロック施設情報として、例えば、コンビニエンスストア、パーキングエリア、又はユーザにより予め設定された店舗の有無等を示す情報を格納する。
誤差情報格納部110は、それぞれのブロック内経路に対応付けて、そのブロック内経路を用いて移動した場合の所要時間の誤差範囲を示すブロック内誤差情報を格納する。誤差情報格納部110は、ブロック内誤差情報として、例えば、所要時間の誤差の値と、当該値の誤差が生じる確率とを関連付けた情報を格納する。
ブロック管理部104は、ブロック情報格納部106、施設情報格納部108、及び誤差情報格納部110に格納された情報を管理することにより、それぞれのブロック内経路に対応して、内経路コスト、ブロック施設情報、及びブロック内誤差情報を管理する。
ここで、本例において、サーバ150は、内経路コストを更新するための更新コスト情報を格納する。ブロック管理部104は、更新コスト情報を、情報入出力部102を介してサーバ150から受け取り、これに基づいて、ブロック情報格納部106に格納された内径路コストを更新する。また、ブロック管理部104は、サーバ150から受け取る情報に基づき、ブロック施設情報、又はブロック内誤差情報を更に更新してもよい。
ブロック選択部112は、全体領域に含まれる始点及び終点を指定する情報を情報入出力部102及びブロック管理部104を介してユーザから受け取り、全体領域における始点及び終点の位置に基づき、複数のブロック領域を選択する。ブロック選択部112は、例えば、全てのブロック領域のうち、始点と終点を結ぶ直線から所定の距離以内にある領域ブロックを選択する。
移動経路生成部114は、ブロック情報をブロック管理部104から受け取り、これに基づき、始点から終点に至る複数の移動経路を生成する。本例において、移動経路生成部114は、ブロック選択部112が選択する複数のブロック領域のそれぞれに含まれるブロック内経路を経由する移動経路を生成する。
移動コスト算出部116は、移動経路生成部114を介してブロック管理部104から受け取るブロック情報を受け取る。そして、移動コスト算出部116は、複数の移動経路のそれぞれに対し、その移動経路に含まれるブロック内経路に対応する内経路コストに基づき、その移動経路を用いて移動する場合の移動コストである経路移動コストを算出する。
施設情報生成部120は、ブロック施設情報をブロック管理部104から受け取り、移動経路が経由するブロック内経路に対応するブロック施設情報に基づき、その移動経路沿いに位置する施設を示す経路施設情報を生成する。
誤差情報算出部122は、ブロック内誤差情報をブロック管理部104から受け取り、移動経路が経由するブロック内経路に対応するブロック内誤差情報に基づき、その移動経路を用いて移動した場合の所要時間の誤差範囲を示す経路誤差情報を算出する。誤差情報算出部122は、例えば、ブロック内誤差情報として示された誤差の値、及び当該値に対応する確率に基づき、経路誤差情報を算出する。
経路選択部118は、複数の移動経路についてそれぞれ算出された経路移動コストに基づき、複数の移動経路から一の移動経路を選択する。経路選択部118は、経路施設情報又は経路誤差情報に基づき、移動経路を選択してもよい。また、経路選択部118は、複数の移動経路を、それぞれの経路移動コストに基づき、順序付けて選択してもよい。
情報入出力部102は、始点及び終点の指定をユーザから受け付け、また、経路選択部118が選択した移動経路を示す情報をユーザに対して出力する。ここで、情報入出力部102は、移動経路を示す情報を、例えばディスプレイに表示することによりユーザに出力する。情報入出力部102は、当該情報を、ユーザに出力する代わりに、例えば他の情報処理装置に供給してもよい。
尚。本例において、情報入出力部102は、移動経路を示す情報を、当該移動経路に対応する経路施設情報及び経路誤差情報と対応付けて出力する。また、情報入出力部102は、サーバ150から更新コスト情報を受け取ってブロック管理部104に供給する。本例によれば、移動経路を適切に検索することができる。
図2は、ブロック管理部104が管理する複数のブロック領域の一例を示す。本例において、ブロック管理部104は、複数の1次ブロック304、複数の2次ブロック306、及び複数の3次ブロック308のそれぞれに対応する内経路コストを管理する。
1次ブロック304は、全体分割ブロックの一例であり、全体領域302を分割したブロック領域である。2次ブロック306及び3次ブロック308のそれぞれは、部分分割ブロックの一例であり、複数の1次ブロック304のそれぞれを更に分割した領域に対応するブロック領域である。
ブロック管理部104は、1個の1次ブロック304の領域に対応して、複数の2次ブロック306を管理し、1個の2次ブロック306の領域に対応して、複数の3次ブロック308を管理する。また、2次ブロック306は、1次ブロック304における対応する領域より詳細に設定されたブロック内経路を含み、3次ブロック308は、2次ブロック306における対応する領域より詳細に設定されたブロック内経路を含む。この場合、探索する経路の距離に応じて、1次ブロック304、2次ブロック306、又は3次ブロック308を選択して用いることにより、高速に経路探索を行うことができる。また、本例によれば、高い精度が必要な領域に対して3次ブロック308を選択することにより、高い精度で経路探索を行うことができる。尚、本例において、1次ブロック304、2次ブロック306、及び3次ブロック308は、それぞれ1辺が80km、10km、及び1km程度の正方形形状の領域である。他の例において、1次ブロック304、2次ブロック306、及び3次ブロック308は、例えば長方形形状又は三角形形状等の、他の2次元形状であってもよい。
図3は、1次ブロック304aの詳細な構成を示す。1次ブロック304aは、それぞれ1次ブロック304aの内部と外部とを結ぶ5個の出入口402a〜eを有する。本例において、1次ブロック304aは、全体領域において、複数の1次ブロック304b〜iと隣接しており、5個の出入口402a〜eは、1次ブロック304aと、複数の1次ブロック304b〜iとを接続する。
また、1次ブロック304aは、5個の出入口402a〜eのうちの2個を一端及び他端とし、互いに異なる複数のブロック内経路404a〜hを有する。この場合、ブロック管理部104(図1参照)は、1次ブロック304aに対応して、複数のブロック内経路404a〜hを管理する。すなわち、ブロック管理部104は、複数の出入口402a〜eのうちの、2個の出入口402の組み合わせを、ブロック内経路404として管理し、当該2個の出入口402の間における移動コストを、当該ブロック内経路404に対応する内径路コストとして管理する。
ここで、複数の1次ブロック304b〜iのそれぞれは、1次ブロック304aと同一又は同様の構成を有してよい。また、1次ブロック304に含まれる領域ブロックである2次ブロック306(図2参照)及び3次ブロック308(図2参照)のそれぞれは、領域の大きさが異なる他は、1次ブロック304aと同一又は同様の構成を有してよい。
図4は、経路探索装置100の動作の一例を示すフローチャートである。経路探索装置100は、最初に、例えばサーバ150と通信することにより、内径路コストの更新が必要か否かを確認し(S102)、更新が必要であれば、サーバ150から更新コスト情報を受け取ることにより、ブロック管理部104は、内径路コストを更新する(S104)。これにより、ブロック管理部104は、内径路コストを管理する。
そして、情報入出力部102は、例えばユーザから、探索すべき経路における始点及び終点を示す情報を取得し(S106)、ブロック選択部112は、その始点及び終点を示す情報に基づき、複数のブロック領域を選択する(S108)。そして、移動経路生成部114は、選択された複数のブロック領域に基づき、複数の移動経路を生成し(S110)、移動コスト算出部116は、それら移動経路のそれぞれについて経路移動コストを算出する(S112)。
そして、経路選択部118は、算出された経路移動コストに基づき、一又は複数の移動経路を選択し(S114)、情報入出力部102は、選択された移動経路についての情報を出力する(S116)。
尚、S108において、ブロック選択部112は、複数のブロック領域の少なくとも一部として、互いに隣接する2個のブロック領域を選択する。そして、S110において、移動経路生成部114は、その2個のブロック領域に対し、それぞれのブロック領域におけるブロック内経路を、当該2個のブロック領域を接続する出入口を介して接続することにより、移動経路の少なくとも一部を生成する。本例によれば、高速に移動経路を生成することができる。
また、S102において、情報入出力部102は、例えば災害情報等の全体領域の少なくとも一部の状態を取得してもよい。この場合、ブロック管理部104は、例えば、少なくとも一部のブロック内経路を、当該ブロック内経路の使用の可否を示す使用可否情報と対応付けて管理する。
そして、S104において、ブロック管理部104は、情報入出力部102が取得した状態に基づき、そのブロック内経路に対する使用可否情報を変更する。この場合、S110において、移動経路生成部114は、使用可否情報に基づいてブロック内経路の使用の可否を判定することにより、使用可能なブロック内経路に基づき、移動経路を生成する。これにより、移動経路生成部114は、より適切な経路を生成することができる。
図5は、経路探索装置100の動作の一例を説明する図である。本例において、ブロック選択部112(図1参照)は、始点516及び終点518の位置に基づき、複数のブロック領域を選択する。移動経路生成部114(図1参照)は、選択されたブロック領域に含まれるブロック内経路に基づき、始点経路520、中間経路522及び終点経路524を経由する移動経路を生成する。尚、本例においては、説明の便宜上、1次ブロックに対応する領域が4個の2次ブロックに分割され、2次ブロックに対応する領城が4個の3次ブロックに分割される場合の動作を説明する。
ブロック選択部112は、複数のブロック領域として、始点ブロック502、複数の始点近傍ブロック504a〜f、終点ブロック506、複数の終点近傍ブロック508a〜f、及び複数の中間ブロック510a〜sを選択する。始点ブロック502は、始点を含むブロック領域であり、複数の始点近傍ブロック504a〜fは、始点ブロック502の近傍のブロック領域である。また、始点ブロック502は、3次ブロックである。複数の始点近傍ブロック504a〜cは、3次ブロックであり、複数の始点近傍ブロック504d〜fは2次ブロックである。
尚、一の3次ブロックに対する近傍のブロック領域とは、例えば、その3次ブロックを含む1次ブロックから分割された他の2次ブロック及び/又は3次ブロックである。他の例において、近傍のブロック領域とは、一のブロック領域からの距離が予め定められた距離より小さいブロック領域であってもよい。
終点ブロック506は、終点を含むブロック領域であり、複数の終点近傍ブロック508a〜fは、終点ブロック506の近傍のブロック領域である。また、終点ブロック506は、3次ブロック308である。複数の終点近傍ブロック508a〜cは、3次ブロックであり、複数の終点近傍ブロック508d〜fは2次ブロックである。
複数の中間ブロック510a〜sのそれぞれは、始点516及び終点518のいずれも含まないブロック領域である。本例において、複数の中間ブロック510a〜sは、1次ブロックである。
移動経路生成部114は、始点ブロック502、及び複数の始点近傍ブロック504a〜fに含まれるブロック内経路に基づき、始点516からいずれかの中間ブロック510に至る始点経路520を生成し、終点ブロック506、及び複数の終点近傍ブロック508a〜fに含まれるブロック内経路に基づき、いずれかの中間ブロック510から終点518に至る終点経路524を生成する。この場合、移動経路生成部114は、ブロック内経路が詳細に設定されている2次ブロック及び/又は3次ブロックを用いて経路を生成することにより、始点経路520及び終点経路524を高い精度で生成することができる。
本例において、移動経路生成部114は、始点ブロック502及び始点近傍ブロック504d〜eのそれぞれに含まれるブロック内経路を経由することにより、始点516から中間ブロック510nに至る始点経路520を生成する。また、移動経路生成部114は、終点近傍ブロック508d〜e及び終点ブロック506のそれぞれに含まれるブロック内経路を経由することにより、中間ブロック510fから終点518に至る終点経路524を生成する。
また、移動経路生成部114は、複数の中間ブロック510a〜sのそれぞれに含まれるブロック内経路に基づき、始点経路520と終点経路524とを接続する中間経路522を更に生成する。この場合、大きな領域に対応する1次ブロックを用いて経路を生成することにより、中間経路522を高速に生成することができる。
そして、移動経路生成部114は、始点経路520、中間経路522、及び終点経路524を接続することにより、始点516から終点518への移動に用いるべき移動経路を生成する。尚、移動経路生成部114は、始点経路520、終点経路524、及び/又は中間経路522を、それぞれ複数生成することにより、複数の移動経路を生成してよい。
移動コスト算出部116(図1参照)は、始点経路520、中間経路522、及び終点経路524のそれぞれに含まれるブロック内経路に対応する内経路コストに基づき、始点経路520、中間経路522、及び終点経路524における移動コストである始点移動コスト、中間移動コスト、及び終点移動コストのそれぞれを算出し、これらに基づいて経路移動コストを算出する。本例によれば、高速かつ高い精度で移動経路を探索することができる。これにより、経路探索を効率よく行うことができる。
ここで、ブロック管理部104は、複数のブロック領域を挟んで互いに離間された2個のブロック領域に対し、これら2個のブロック領域の間の移動コストである離間移動コストを更に管理してもよい。ブロック管理部104は、例えば、中間ブロック510n及び510fの間の離間移動コストを管理する。この場合、移動コスト算出部116は、例えば、始点経路520に対応する始点移動コスト、終点経路524に対応する終点移動コスト、及び中間ブロック510nから510fへの移動に対応する離間移動コストに基づき、経路移動コストを算出する。この場合、高速に経路移動コストを算出することにより、更に高速に移動経路を探索することができる。
また、情報入出力部102(図1参照)は、移動経路の途中に経由すべき経由点526の指定を、例えばユーザから、更に受け付けてもよい。この場合、ブロック選択部112は、複数のブロック領域の一部として、経由点526を含むブロック領域である経由点ブロック512と、経由点ブロック512の近傍のブロック領域である複数の経由点近傍ブロック514a〜fを更に選択する。また、ブロック選択部112は、経由点526の位置に基づき、複数の中間ブロック510t〜yを更に選択する。尚、本例において、経由点ブロック512、及び複数の経由点近傍ブロック514a〜cは3次ブロックであり、複数の経由点近傍ブロック514d〜fは2次ブロックである。
移動経路生成部114は、経由点ブロック512、及び複数の経由点近傍ブロック514a〜fに含まれるブロック内経路に更に基づき、いずれかの中間ブロック510から、経由点526を経由して、いずれかの中間ブロック510に至る経由経路530を生成する。本例において、移動経路生成部114は、経由点ブロック512、及び複数の経由点近傍ブロック514b〜dのそれぞれに含まれるブロック内経路を経由することにより、中間ブロック510vから中間ブロック510wに至る経由経路530を生成する。
また、移動経路生成部114は、始点516、経由点526、及び中間経路528の位置に基づき、始点経路520及び終点経路524のそれぞれと、経由経路530とをそれぞれ接続する複数の中間経路528−1〜2を生成する。これにより、移動経路生成部114は、始点経路520、終点経路524、複数の中間経路528−1〜2、及び経由経路530を経由する移動経路を生成する。そのため、本例によれば、経由点の指定に応じて、適切な経路を探索することができる。
図6は、ブロック選択部112の構成の一例を示す。ブロック選択部112は、テンプレート格納部602、図形サイズ変更部604、及び選択実行部606を有する。
テンプレート格納部602は、予め定められた形状のテンプレート図形を格納する。テンプレート格納部602は、例えば、長方形のテンプレート図形を格納する。
図形サイズ変更部604は、テンプレート図形を、指定された始点及び終点を含む大きさに拡大又は縮小する。図形サイズ変更部604は、始点と終点とを結ぶ距離に基づき、テンプレート図形を拡大又は縮小してよい。
選択実行部606は、拡大又は縮小されたテンプレート図形を、始点及び終点の位置を基準として全体領域上に配置し、配置されたテンプレート図形を含む複数のブロック領域を選択する。選択実行部606は、例えば、配置されたテンプレート図形に対して、少なくとも一部において重なりを生じるブロック領域を、当該複数のブロック領域のそれぞれとして選択してよい。本例によれば、複数のブロック領域を適切に選択することができる。
尚、他の例において、テンプレート格納部602は、例えば、略楕円形のテンプレート図形を格納してもよい。選択実行部606は、テンプレート図形を、略楕円形の長軸と、始点及び終点を結ぶ方向とを略平行にして、配置してよい。この場合、始点と終点との中間付近において、より多くのブロック領域を選択することにより、より適切な移動経路を探索することができる。
また、例えば全体領域の形状が所定の方向に長い場合、選択実行部606は、テンプレート図形を、略楕円形の長軸と、当該所定の方向とを略平行にして、配置してよい。この場合、経路探索を更に効率よく行うことができる。
図7は、本実施形態に係る経路探索装置100(図1参照)の、ハードウェア構成を示す。本実施形態に係る配信装置100は、CPU800、ROM810、RAM820、通信インターフェイス830、ハードディスクドライブ840、フレキシブルディスクドライブ850、及びCD−ROMドライブ860を備える情報処理装置700により実現される。
CPU800は、ROM810及びRAM820に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM810は、情報処理装置700の起動時にCPU800が実行するブートプログラムや、情報処理装置700のハードウェアに依存するプログラム等を格納する。RAM820は、CPU800が実行するプログラム及びCPU800が使用するデータ等を格納する。通信インターフェイス830は、ネットワークを介して他の装置と通信する。ハードディスクドライブ840は、情報処理装置700が使用するプログラム及びデータを格納し、RAM820を介してCPU800に供給する。また、ハードディスクドライブ840は、図1を用いて説明したブロック情報格納部106、施設情報格納部108、及び誤差情報格納部110のそれぞれとして動作してもよい。フレキシブルディスクドライブ850は、フレキシブルディスク890からプログラム又はデータを読み取り、RAM820に提供する。CD−ROMドライブ860は、CD−ROM895からプログラム又はデータを読み取り、RAM820に提供する。
RAM820を介してCPU800に提供されるプログラムは、フレキシブルディスク890、CD−ROM895、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM820を介して情報処理装置700にインストールされ、情報処理装置700において実行される。
情報処理装置700にインストールされて実行されるプログラムは、ブロック管理モジュールと、ブロック選択モジュールと、移動経路生成モジュールと、移動コスト算出モジュールと、経路選択モジュールとを含む。これらのプログラム又はモジュールは、情報処理装置700を、図1を用いて説明したブロック管理部104、ブロック選択部112、移動経路生成部114、移動コスト算出部116、及び経路選択部118としてそれぞれ機能させる。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク890、CD−ROM895の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置700に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【産業上の利用可能性】
上記説明から明らかなように、本発明によれば、経路探索を効率よく行うことができる。
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】


【特許請求の範囲】
【請求項1】
始点から終点までの移動に用いるべき移動経路を探索する経路探索装置であって、
前記始点及び前記終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理部と、
前記全体領域における前記始点及び前記終点の位置に基づき、複数の前記ブロック領域を選択するブロック選択部と、
前記ブロック選択部が選択する前記複数のブロック領域のそれぞれに含まれる前記ブロック内経路を経由して、前記始点から前記終点に至る前記移動経路を生成する移動経路生成部と、
前記移動経路に含まれる前記ブロック内経路に対応する前記内経路コストに基づき、前記移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部と
を備えることを特徴とする経路検索装置。
【請求項2】
少なくとも一部の前記ブロック領域は、当該ブロック領域の内部と外部とを結ぶ、少なくとも3個の出入口を有し、
前記ブロック管理部は、少なくとも一部の前記ブロック領域のそれぞれに対応して、それぞれが前記少なくとも3個の出入口のうちの2個を一端及び他端とし、互いに異なる少なくとも2個の前記ブロック内経路を管理することを特徴とする請求項1に記載の経路探索装置。
【請求項3】
それぞれの前記ブロック領域は、当該ブロック領域と、前記全体領域において当該ブロック領域に隣接する前記ブロック領域とを接続する複数の出入口を有し、
前記ブロック管理部は、前記複数の出入口のうちの2個の前記出入口の組み合わせを、前記ブロック内経路として管理し、当該2個の出入口の間における移動コストを、当該ブロック内経路に対応する前記内径路コストとして管理し、
前記ブロック選択部は、前記複数のブロック領域の少なくとも一部として、互いに隣接する2個の前記ブロック領域を選択し、
前記移動経路生成部は、前記2個の前記ブロック領域に対し、それぞれの前記ブロック領域における前記ブロック内経路を、当該2個のブロック領域を接続する前記出入口を介して接続することにより、前記移動経路の少なくとも一部を生成することを特徴とする請求項1に記載の経路探索装置。
【請求項4】
前記移動経路生成部は複数の前記移動経路を生成し、
前記移動コスト算出部は、前記複数の移動経路に対し、それぞれの前記経路移動コストを算出し、
前記経路検索装置は、前記それぞれの経路移動コストに基づき、前記複数の移動経路から一の前記移動経路を選択する経路選択部を更に備えることを特徴とする請求項1に記載の経路検索装置。
【請求項5】
前記ブロック管理部は、複数の前記ブロック領域を挟んで互いに離間された前記ブロック領域である2個の離間ブロックに対し、当該2個の離間ブロックの間の移動コストである離間移動コストを更に管理し、
前記ブロック選択部は、前記複数のブロック領域の少なくとも一部として、
前記始点を含む前記ブロック領域である始点ブロックと、
前記終点を含む前記ブロック領域である終点ブロックと
を選択し、
前記移動経路生成部は、前記始点ブロックに含まれる前記ブロック内経路に基づき、前記始点から一の前記離間ブロックに至る始点経路を生成し、前記終点ブロックに含まれる前記ブロック内経路に基づき、他の前記離間ブロックから前記終点に至る終点経路を生成することにより、前記始点経路及び前記終点経路を経由する前記移動経路を生成し、
前記移動コスト算出部は、前記始点経路及び前記終点経路のそれぞれに含まれる前記ブロック内経路に対応する前記内経路コストに基づき、前記始点経路及び前記終点経路における移動コストである始点移動コスト及び終点移動コストのそれぞれを算出し、前記始点移動コスト、前記終点移動コスト、及び前記離間移動コストに基づき、前記経路移動コストを算出することを特徴とする請求項1に記載の経路検索装置。
【請求項6】
前記ブロック選択部は、
前記始点ブロックの近傍の前記ブロック領域である始点近傍ブロックと、
前記終点ブロックの近傍の前記ブロック領域である終点近傍ブロックと、
を更に選択し、
前記移動経路生成部は、前記始点ブロック及び前記始点近傍ブロックのそれぞれに含まれる前記ブロック内経路を経由することにより、前記始点から前記一の離間ブロックに至る前記始点経路と、前記終点近傍ブロック及び前記終点ブロックのそれぞれに含まれる前記ブロック内経路を経由することにより、前記他の離間ブロックから前記終点に至る前記終点経路とを生成することを特徴とする請求項5に記載の経路検索装置。
【請求項7】
前記ブロック管理部は、
前記全体領域を分割した複数の前記ブロック領域である複数の全体分割ブロックと、
複数の前記全体分割ブロックのそれぞれを更に分割した複数の領域に対応する複数の前記ブロック領域である複数の部分分割ブロックと
のそれぞれに対応する前記内経路コストを管理し、
前記ブロック選択部は、前記複数のブロック領域の少なくとも一部として、
前記始点を含む前記部分分割ブロックである始点ブロックと、
前記終点を含む前記部分分割ブロックである終点ブロックと、
それぞれが前記始点及び前記終点のいずれも含まない前記全体分割ブロックである一又は複数の中間ブロックと
を選択し、
前記移動経路生成部は、前記始点ブロックに含まれる前記ブロック内経路に基づく始点経路と、前記一又は複数の中間ブロックのそれぞれに含まれる前記ブロック内経路に基づく中間経路と、前記終点ブロックに含まれる前記ブロック内経路に基づく終点経路とをそれぞれ生成することにより、前記始点経路、前記中間経路、及び前記終点経路を経由する前記移動経路を生成することを特徴とする請求項1に記載の経路検索装置。
【請求項8】
前記ブロック選択部は、
前記始点ブロックの近傍の前記部分分割ブロックである始点近傍ブロックと、
前記終点ブロックの近傍の前記部分分割ブロックである終点近傍ブロックと
を更に選択し、
前記移動経路生成部は、前記始点ブロック及び前記始点近傍ブロックのそれぞれに含まれる前記ブロック内経路を経由することにより、前記始点からいずれかの前記中間ブロックに至る前記始点経路と、前記終点近傍ブロック及び前記終点ブロックのそれぞれに含まれる前記ブロック内経路を経由することにより、いずれかの前記中間ブロックから前記終点に至る前記終点経路とを生成することを特徴とする請求項7に記載の経路検索装置。
【請求項9】
前記移動経路の途中に経由すべき経由点の指定を受け付ける受付部を更に備え、
前記ブロック選択部は、前記複数のブロック領域の一部として、前記経由点を含む前記部分分割ブロックである経由点ブロックを更に選択し、
前記移動経路生成部は、前記経由点ブロックに含まれる前記ブロック内経路に更に基づき、前記移動経路を生成することを特徴とする請求項7に記載の経路検索装置。
【請求項10】
前記ブロック選択部は、前記経由点ブロックの近傍の前記部分分割ブロックである経由点近傍ブロックを更に選択し、
前記移動経路生成部は、前記経由点ブロック及び前記経由点近傍ブロックのそれぞれに含まれる前記ブロック内経路を経由することにより、いずれかの前記中間ブロックから、前記経由点を経由して、いずれかの前記中間ブロックに至る経由経路を生成し、前記経由経路を経由する前記移動経路を生成することを特徴とする請求項9に記載の経路検索装置。
【請求項11】
前記ブロック管理部は、前記ブロック内経路沿いに位置する施設を示すブロック施設情報を更に管理し、
前記経路検索装置は、
前記移動経路が経由する前記ブロック内経路に対応する前記ブロック施設情報に基づき、当該移動経路沿いに位置する施設を示す経路施設情報を生成する施設情報生成部と、
前記移動経路を示す情報を、当該移動経路に対応する前記経路施設情報と対応付けて出力する情報出力部と
を更に備えることを特徴とする請求項1に記載の経路検索装置。
【請求項12】
前記ブロック管理部は、前記ブロック内経路を用いて移動した場合の所要時間の誤差範囲を示すブロック内誤差情報を更に管理し、
前記経路検索装置は、
前記移動経路が経由する前記ブロック内経路に対応する前記ブロック内誤差情報に基づき、当該移動経路を用いて移動した場合の所要時間の誤差範囲を示す経路誤差情報を算出する誤差情報算出部と、
前記移動経路を示す情報を、当該移動経路に対応する前記経路誤差情報と対応付けて出力する情報出力部と
を更に備えることを特徴とする請求項1に記載の経路検索装置。
【請求項13】
前記ブロック管理部は、前記経路検索装置の外部に設けられたサーバから、前記内径路コストを更新するための更新コスト情報を受け取り、当該更新コスト情報に基づき、少なくとも一部の前記内径路コストを更新することを特徴とする請求項1に記載の経路検索装置。
【請求項14】
前記ブロック選択部は、
予め定められた形状のテンプレート図形を格納するテンプレート格納部と、
前記テンプレート図形を、前記始点及び前記終点を含む大きさに拡大又は縮小する図形サイズ変更部と、
拡大又は縮小された前記テンプレート図形を、前記始点及び前記終点の位置を基準として前記全体領域上に配置し、配置された前記テンプレート図形を含む複数の前記ブロック領域を選択する選択実行部と
を有することを特徴とする請求項1に記載の経路検索装置。
【請求項15】
前記全体領域の少なくとも一部の状態を取得する状態取得部を更に備え、
前記ブロック管理部は、少なくとも一部の前記ブロック内経路を、当該ブロック内経路の使用の可否を示す使用可否情報と対応付けて管理し、かつ、前記状態取得部が取得した前記状態に基づき、当該ブロック内経路に対する使用可否情報を変更し、
前記移動経路生成部は、前記使用可否情報に基づいて前記ブロック内経路の使用の可否を判定することにより、使用可能な前記ブロック内経路に基づき、前記移動経路を生成することを特徴とする請求項1に記載の経路検索装置。
【請求項16】
始点から終点までの移動に用いるべき移動経路を探索する経路探索システムであって、
前記始点及び前記終点を含む全体領域を分割した複数のブロック領城の少なくとも一部に対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを更新するための更新コスト情報を格納するサーバと、
前記サーバと通信する端末と
を備え、
前記端末は、
前記複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれる前記ブロック内経路を用いて当該ブロック領域を通過する場合に要する前記内経路コストを管理し、かつ、前記サーバから受け取る前記更新コスト情報に基づき、少なくとも一部の前記ブロック領域に対応する前記内径路コストを更新するブロック管理部と、
前記全体領域における前記始点及び前記終点の位置に基づき、複数の前記ブロック領域を選択するブロック選択部と、
前記ブロック選択部が選択する前記複数のブロック領域のそれぞれに含まれる前記ブロック内経路を経由して、前記始点から前記終点に至る前記移動経路を生成する移動経路生成部と、
前記移動経路に含まれる前記ブロック内経路に対応する前記内経路コストに基づき、前記移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部と
を有することを特徴とする経路探索システム。
【請求項17】
始点から終点までの移動に用いるべき移動経路を探索するプログラムであって、
前記始点及び前記終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理部と、
前記全体領域における前記始点及び前記終点の位置に基づき、複数の前記ブロック領域を選択するブロック選択部と、
前記ブロック選択部が選択する前記複数のブロック領域のそれぞれに含まれる前記ブロック内経路を経由して、前記始点から前記終点に至る前記移動経路を生成する移動経路生成部と、
前記移動経路に含まれる前記ブロック内経路に対応する前記内経路コストに基づき、前記移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出部と
を備えることを特徴とするプログラム。
【請求項18】
始点から終点までの移動に用いるべき移動経路を探索する経路探索方法であって、
前記始点及び前記終点を含む全体領域を分割した複数のブロック領域のそれぞれに対応して、当該ブロック領域に含まれるブロック内経路を用いて当該ブロック領域を通過する場合に要する移動コストである内経路コストを管理するブロック管理段階と、
前記全体領域における前記始点及び前記終点の位置に基づき、複数の前記ブロック領域を選択するブロック選択段階と、
前記ブロック選択部が選択する前記複数のブロック領域のそれぞれに含まれる前記ブロック内経路を経由して、前記始点から前記終点に至る前記移動経路を生成する移動経路生成段階と、
前記移動経路に含まれる前記ブロック内経路に対応する前記内経路コストに基づき、前記移動経路を用いて移動する場合の移動コストである経路移動コストを算出する移動コスト算出段階と
を備えることを特徴とする経路検索方法。

【国際公開番号】WO2004/057273
【国際公開日】平成16年7月8日(2004.7.8)
【発行日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−561997(P2004−561997)
【国際出願番号】PCT/JP2002/013333
【国際出願日】平成14年12月20日(2002.12.20)
【出願人】(302049334)ジクー・データシステムズ株式会社 (9)
【Fターム(参考)】