ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)信号機取得システムの構成:
(1−1)対応関係生成のための構成:
(1−2)経路探索のための構成:
(2)経路探索処理:
(3)他の実施形態:
(1)信号機取得システムの構成:
図1は、本発明の一実施形態にかかる信号機取得システムを含むサーバ10の構成を示すブロック図である。本実施形態にかかるサーバ10は、携帯端末100と通信可能であり、携帯端末100からの経路探索要求に応じて歩行者用の経路を探索する。また、サーバ10は、探索された経路を携帯端末100に送信する。携帯端末100で経路を受信すると、携帯端末100は、携帯端末100が備える図示しないユーザーインターフェース(例えば、タッチパネルディスプレイ等)に経路を表示し、経路案内を行う。
サーバ10は、CPU,RAM,ROM等を備える制御部20、記録媒体30を備えている。サーバ10は、記録媒体30やROMに記憶されたプログラムを制御部20で実行することができる。
記録媒体30には、予め歩行者用地図情報30aと車両用地図情報30bとが記録されている。歩行者用地図情報30aは、歩行者の位置や目的地となる施設の特定等に利用される情報であり、歩行者が通行する道路上に設定されたノードの位置等を示すノードデータ,ノード間の道路の形状を特定するための形状補間点の位置等を示す形状補間点データ,ノード同士の連結を示すリンクデータ,道路やその周辺に存在する施設の位置等を示す施設データ等を含んでいる。
本実施形態においては、リンクデータに区間の属性を示す情報が対応づけられている。すなわち、リンクデータが示す区間が横断歩道である場合、当該区間が横断歩道であることを示す情報が当該リンクデータに対応づけられている。
本実施形態においてはさらに、リンクデータに対して通過コスト(0以上の値)が対応づけられており、制御部20は、当該通過コストに基づいて歩行者用の経路探索を実行することができる。具体的には、本実施形態においては、経路を通行する際の所要期間に基づいて経路を探索できるように構成されており、所要期間が長いほど大きい値の通過コストが対応づけられる。当該通過コストはリンクデータが示す区間を通行する際の所要期間に対応していれば良く、区間の距離に基づいて決められても良いし、区間の距離を平均移動速度で除した値に基づいて決められても良い。むろん、道路の混雑度合い等に基づいて所要期間が可変であっても良い。
また、本実施形態においては、ノードデータに対しても通過コストが対応づけることが可能である。すなわち、区間が横断歩道であり、横断歩道が属する交差点に信号機が存在する場合、信号機の現示によって通行を一時的に停止する必要が生じ得る。そこで、当該信号機の影響によって所要期間が増加し得ることを示すため、信号機が存在する横断歩道においてはノードデータに既定の大きさの通過コストが対応づけられる。一方、信号機が存在しない横断歩道においてノードデータには通過コストは対応づけられない(通過コスト0とされる)。
なお、ノードデータに通過コストが対応づけられる場合、横断歩道の両端のノードに信号機の存在を示す通過コストが対応づけられるが、当該通過コストは、横断歩道からの退出の際に算入され、横断歩道へに進入する際や横断歩道以外の区間に向かう際には算入されない。むろん、以上のような通過コストの定義は一例であり、横断歩道を示すリンクデータに信号機の有無を示す通過コストが対応づけられる構成等であっても良い。
以上のようにして、リンクデータに対応づけられた通過コストと、ノードデータに対応づけられた通過コストとの和を最小化する経路を探索することにより、所要期間が短い経路を探索することが可能である。また、信号機の有無に応じてノードデータに対応づけられた通過コストが非0または0になるため、横断歩道に信号機が有る場合には無い場合よりも横断歩道の通行に要する所要期間が長いとみなし、所要期間に基づいて経路を探索することが可能である。
ただし、本実施形態において、歩行者用地図情報30aが作成された段階で、ノードデータには通過コストが対応づけられていない。すなわち、歩行者用地図情報30aが作成された段階において、横断歩道における信号機の有無は歩行者用地図情報30a内に記述されていない。
なお、本実施形態においては、信号機が存在する場合の通過コストは全ての横断歩道で共通の値であるとして説明を行うが、むろん、信号機によって所要期間が増加する度合い(赤信号の長さ等)に応じて通過コストの大きさが調整されても良い。すなわち、横断歩道を通過する際に要する所要期間が長いほど大きい通過コストが対応づけられる構成であっても良い。
車両用地図情報30bは、車両の位置や目的地となる施設の特定等に利用される情報であり、車両が走行する道路上に設定されたノードの位置等を示すノードデータ,ノード間の道路の形状を特定するための形状補間点の位置等を示す形状補間点データ,ノード同士の連結を示すリンクデータ,道路やその周辺に存在する施設の位置等を示す施設データ等を含んでいる。
なお、本実施形態において、車両用地図情報30bのノードデータが示すノードは道路上の交差点に設定されている。従って、車両用地図情報30bにおけるリンクデータが示す道路区間は、交差点を端点とする区間である。本実施形態においては、ノードデータが示す交差点における信号機の有無を示す情報が、当該ノードデータに対応づけられている。
一方、歩行者用地図情報30aが示すノードは必ずしも交差点と一対一に対応していない。例えば、交差点から四方に延びる道路のそれぞれを横断する横断歩道が存在する場合、リンクデータによってそれぞれの区間が示される。また、横断歩道の端点同士を結ぶ歩行可能な区間もリンクデータによって示される。このため、歩行者用地図情報30aにおいては、一つの交差点の周辺に当該交差点に関連する複数の区間が存在し、各区間の両端を構成する複数のノードが存在し得る。
図2Aは、ある交差点Ic1の周辺におけるリンクデータの例を示している。図2Aにおいては、道路の境界線や横断歩道を細い線で模式的に示し、リンクデータが示す道路区間を太い線で模式的に示し、黒丸でノードを示している。すなわち、交差点Ic1には4個の道路が接続され、交差点Ic1から四方に車両が走行する道路が延びている。車両用地図情報30bにおいては、交差点Ic1の中央の位置を示すノードNc1が定義され、ノードNc1から延びる道路区間がリンクLc1〜Lc4によって示される。
一方、歩行者用地図情報30aにおいては、車両が走行する道路の幅方向の縁より外側に存在する歩行者通行領域(歩道等)を示す区間と、車両が走行する道路を横断する横断歩道を示す区間と、がリンクLw1〜Lw16によって示されている。例えば、リンクLw1は、横断歩道Cw1を示しており、リンクLw9やリンクLw8は、横断歩道Cw1の一方のノードNw1側に存在する歩道等の区間を示している。
なお、本実施形態において、車両用地図情報30bは、車両のナビゲーション用の地図である。従って、本実施形態の車両用地図情報30bにおいては、リンクデータに対して通過コストが対応づけられており、制御部20は、当該通過コストに基づいて車両が走行する経路を探索することができる。
以上のような構成において、本実施形態では車両用地図情報30bが作成された段階で、交差点における信号機の有無が車両用地図情報30bにおいて交差点を示すノードデータに対応づけられている。一方、歩行者用地図情報30aが作成された段階において、横断歩道における信号機の有無は歩行者用地図情報30a内に記述されていない。従って、信号機の有無を反映した歩行者用の経路の探索を行うためには、探索の前に予め横断歩道における信号機の有無を特定しておく必要がある。
(1−1)対応関係生成のための構成:
そこで、本実施形態においては、車両用地図情報30bが示す交差点における信号機の有無に基づいて、横断歩道における信号機の有無を特定するように構成されている。本実施形態においては、制御部20が、車両用地図情報30bが示す交差点と、歩行者用地図情報30aが示す横断歩道が属する交差点との対応関係を予め生成する。このため、記録媒体30には予め対応関係生成プログラム21が記録されている。
制御部20が、当該対応関係生成プログラム21を実行すると、制御部20は、横断歩道取得部21a、交差点取得部21b、対応関係生成部21cとして機能する。対応関係生成プログラム21の実行が開始されると、制御部20は、図2Bに示すフローチャートに従って対応関係生成処理を実行する。
横断歩道取得部21aは、歩行者が通行する道路の属性を含む歩行者用地図情報に基づいて、横断歩道を取得する機能を制御部20に実行させるプログラムモジュールである。すなわち、制御部20は、横断歩道取得部21aの機能により、横断歩道を取得する(ステップS100)。具体的には、制御部20は、記録媒体30に記録された歩行者用地図情報30aを参照し、リンクデータに対応づけられた属性に基づいて、属性が横断歩道である区間を特定する。
交差点取得部21bは、車両が走行する道路上に存在する交差点における信号機の有無を含む車両用地図情報に基づいて、横断歩道から既定距離以内に存在し、かつ、横断歩道に最も近い交差点を取得する機能を制御部20に実行させるプログラムモジュールである。すなわち、横断歩道である区間が特定されると、制御部20は、横断歩道が属する交差点を取得する(ステップS105)。
具体的には、制御部20は、歩行者用地図情報30aが示すリンクデータを参照し、横断歩道として特定された区間の位置を取得する。図2Aに示すリンクLw1,Lw3,Lw5,Lw7であれば、制御部20は、例えば、その一方のノードNw1,Nw3,Nw5,Nw7を横断歩道の位置として取得する。さらに、制御部20は、車両用地図情報30bを参照し、横断歩道の位置から既定距離以内に存在する交差点を取得する。そして、制御部20は、当該交差点の中から横断歩道に最も近い交差点を特定し、横断歩道が属する交差点であると見なす。
図2Aにおいては、ノードNw1,Nw3,Nw5,Nw7の全てが交差点Ic1から既定距離以内であることが想定されており、これら以外に交差点Ic1の近くに横断歩道は存在しないことが想定されている。この場合、制御部20は、リンクLw1,Lw3,Lw5,Lw7が示す横断歩道の全てが交差点Ic1に属すると見なす。制御部20は、各横断歩道について以上の処理を実行する。
なお、本実施形態においては、横断歩道ではない区間であっても、交差点から既定距離以内に存在する区間は、区間から最も近い交差点に属すると見なされる。例えば、図2Aに示すリンクLw2が示す区間は交差点に属する。既定距離は予め決められていれば良く、例えば、交差点に属すると見なすことができる距離として予め設定された距離等が挙げられる。
対応関係生成部21cは、取得された交差点が、横断歩道の属する交差点であることを示す対応情報を横断歩道に対応づける機能を制御部20に実行させるプログラムモジュールである。すなわち、横断歩道が属する交差点が取得されると、制御部20は、横断歩道と交差点とを対応づける対応情報を生成する(ステップS110)。
具体的には、制御部20は、車両用地図情報30bを参照し、ステップS105で取得された交差点を示すノードデータを特定する。また、制御部20は、歩行者用地図情報30aを参照し、当該交差点に属すると見なされた横断歩道および区間の両端に相当するノードのノードデータを特定する。そして、制御部20は、車両用地図情報30bが示す交差点のノードデータと、歩行者用地図情報30aが示す横断歩道および区間の両端としてのノードデータとに対して、共通のIDを対応付ける。本実施形態においては、当該共通のIDを統合交差点IDと呼ぶ。なお、本実施形態においては、ノードによって横断歩道および区間が特定されるが、むろんリンクデータによって横断歩道および区間が特定されても良い。
以上のように、統合交差点IDが対応づけられる処理は、交差点に属する横断歩道、区間のそれぞれについて実行される。以上のようにして、各横断歩道について統合交差点IDが対応づけられた情報が生成されると、制御部20は、当該情報を対応情報30cとして歩行者用地図情報30aに追加する。むろん、対応情報30cは、歩行者用地図情報30aと別の情報として保存されても良いし、車両用地図情報30bに追加されても良い。
表1は、対応情報30cの一例を示す図である。
本実施形態においては、表1に示すように、歩行者用地図情報30aが示すノードデータであって、交差点に属する区間の両端としてのノードデータが歩行者用ノードIDとして特定されている。さらに、車両用地図情報30bが示す交差点のノードデータが車両用ノードIDとして特定され、交差点における信号機の有無が1または0のフラグで特定されている。
表1に例示された統合交差点IDがI1である交差点は、図2Aに示す交差点Ic1である。従って、統合交差点IDがI1である歩行者用ノードIDは、リンクLw1〜Lw8の両端であるノードを示すIDである。例えば、リンクLw1が示す区間については、ノードNw1およびNw2が歩行者用ノードIDとして登録されている。統合交差点IDがI1である車両用ノードIDは、ノードNc1を示すIDである。さらに、交差点Ic1においては信号機が存在することが想定されており、車両用ノードIDであるノードNc1に対して、信号機が存在することを示すフラグ1が対応づけられている。
以上のような対応情報30cが生成されていれば、当該対応情報30cを参照することによって任意の横断歩道に信号が存在するか否かを容易に特定することができる。このため、歩行者用地図情報30aが作成された段階で、各横断歩道における信号の有無が特定されていなかったとしても、制御部20が対応関係生成プログラム21による処理を実行して対応情報30cを作成すれば、制御部20は、横断歩道における信号の有無を特定することができる。
(1−2)経路探索のための構成:
本実施形態において制御部20は、歩行者用地図情報30aに基づいて歩行者用の経路を探索することが可能であるが、制御部20は、対応情報30cを参照することにより、信号機による影響(所要時間の長短)を考慮した経路探索を実行することが可能である。制御部20は、サーバ10に備えられており、クライアント端末として機能する携帯端末100からの経路探索要求に応じて経路を探索する。
本実施形態において携帯端末100は汎用的なコンピュータであり、図示しないCPU,RAM,ROM等を備える制御部200が各種のプログラムを実行することができる。本実施形態において制御部200は、当該プログラムの一つとしてナビゲーションプログラム210を実行可能である。ナビゲーションプログラム210が実行されると、制御部200はサーバ10に経路探索要求を行い、サーバ10から送信された経路に沿って歩行者を誘導する。
当該誘導を行うため、携帯端末100は、ユーザI/F部400、GNSS受信部410、通信部420を備えている。ユーザI/F部400は、携帯端末100の利用者による指示を入力し、また利用者に各種の情報を提供するためのインタフェース部であり、図示しないタッチパネルディスプレイからなる表示部やスイッチ等の入力部、スピーカ等の音声出力部を備えている。
GNSS受信部410は、Global Navigation Satellite Systemの信号を受信する装置であり、航法衛星からの電波を受信し、図示しないインタフェースを介して車両の現在地を算出するための信号を出力する。制御部20は、GNSS受信部410の出力信号に基づいて携帯端末100の現在地を算出する。むろん、携帯端末100の現在地を取得するための手法としては、種々の手法を採用可能であり、他のセンサ、例えば、ジャイロセンサ等が利用または併用されても良い。また、通信基地局との通信に基づいて現在地が特定されても良いし、マップマッチング処理等が行われてもよい。
通信部420は、外部の装置と通信を行うための回路を備えており、制御部200は、通信部420を介してサーバ10と通信を行うことが可能である。携帯端末100の利用者は、ユーザI/F部400を利用してナビゲーションプログラム210の実行を開始し、所定のユーザーインターフェース画面を通じて目的地を入力する。目的地が入力されると、制御部200は、GNSS受信部410の出力信号に基づいて現在地を取得し、現在地を出発地とみなす。そして、制御部200は、通信部420を介して出発地と目的地とを指定した経路探索要求をサーバ10に対して送信する。
サーバ10は、当該経路探索要求に基づいて歩行者用の経路を探索し、経路を示す情報を返信する。制御部200は、通信部420を介して当該経路を示す情報を取得する。さらに、制御部200は、図示しないメモリに記録された地図情報や描画情報に基づいて、ユーザI/F部400に現在地を含む地図を表示する。そして、制御部200は、当該地図上に経路を重畳表示させ、ユーザI/F部400を制御して、経路に沿って歩行するための案内を出力させる。むろん、地図情報や描画情報は、外部のサーバ等から取得されても良い。
サーバ10は、このような経路の探索を行うための構成を備えている。すなわち、サーバ10は、通信部42を備えており、通信部42は、外部の装置と通信を行うための回路を備えている。制御部20は、通信部42を介して複数の携帯端末100のそれぞれと通信を行うことができ、それぞれからの要求に応じた処理を行うことができる。
経路探索は、制御部20が信号機取得プログラム22を実行することによって実現される。すなわち、信号機取得プログラム22は、横断歩道の信号機の有無を特定した上で歩行者用の経路を探索する機能を備えている。具体的には、信号機取得プログラム22は、経路探索部22a、歩行者用地図情報取得部22b、車両用地図情報取得部22c、横断歩道信号取得部22dを備えている。
経路探索部22aは、歩行者用地図情報に基づいて歩行者が通行する経路を探索する機能を制御部20に実行させるプログラムモジュールである。すなわち、携帯端末100から経路探索要求があると、制御部20は、歩行者用地図情報30aを参照し、出発地から目的地までの経路を探索する。経路の探索は、種々の探索アルゴリズムを利用して実施されて良く、例えば、ダイクストラ法やA*アルゴリズム、それらの改良型アルゴリズムなどを採用可能である。
いずれにしても制御部20は、リンクデータが示す区間の通過コストとノードデータが示す地点の通過コスト(信号機による影響を示すコスト)との和を最小にする経路を探索する。本実施形態において制御部20は、経路探索の過程で、ノードとリンクによって構成される経路のうち、出発地から目的地までの経路として採用し得る経路を仮想的に特定し、通過コストが最小であるネットワークを順次確定していく処理を繰り返す。この処理によって目的地までの経路であって通過コストが最小である経路が確定されると経路の探索が終了する。むろん、探索の際には、各種の制約条件が課されても良い。
このように、本実施形態において制御部20は、経路探索の過程で未確定の経路を仮想的に特定するが、この際に新たなリンクやリンクからの退出地点である新たなノードを経路に組み込みながら通過コストの和を算出していく。新たなリンクに関し、制御部20は、歩行者用地図情報30aのリンクデータを参照して通過コストを特定する。例えば、図2Aにおいて、ノードNw0側から経路が探索され、ノードNw1までの最小コストの経路が確定している状態を想定する。この後、制御部20は、ノードNw1以後のリンクやノードを仮想的に特定して通過コストを算出する。この場合、ノードNw1から延びるリンクLw1,Lw8が新たなリンクとして特定される。また、リンクLw1,Lw8の退出地点であるノードNw2,Nw8が新たなノードとして特定される。この場合、制御部20は、歩行者用地図情報30aのリンクデータを参照し、リンクLw1,Lw8の通過コストを特定する。
一方で、新たなノードの通過コストは、歩行者用地図情報30aに記述されていないため、制御部20は、対応情報30cに基づいてノードの通過コスト、すなわち、横断歩道における信号機の有無を考慮した通過コストを特定する。このため、新たなノードの通過コストを特定する際に、制御部20は、歩行者用地図情報30aに基づいて、当該ノードに接続されたリンク(区間)が横断歩道であるか否かを特定する。
歩行者用地図情報取得部22bは、歩行者が通行する道路と当該道路の属性を含む歩行者用地図情報を取得する機能を制御部20に実行させるプログラムモジュールである。すなわち、制御部20は、歩行者用地図情報30aを参照し、新たなノードに接続されているリンクに対応づけられた属性を示す情報を取得する。例えば、図2Aに示す例において、新たなノードがノードNw2,Nw8である場合、制御部20は、リンクLw1,Lw8に対応づけられた属性を示す情報を取得する。
車両用地図情報取得部22cは、車両が走行する道路と当該道路に存在する交差点における信号機の有無を示す車両用地図情報を取得する機能を制御部20に実行させるプログラムモジュールである。本実施形態においては、車両用地図情報30bの一部の情報、すなわち、信号機の有無を示す情報が対応情報30cとして歩行者用地図情報30aに組み込まれている。従って、制御部20は、歩行者用地図情報30aの対応情報30cを参照することによって、信号機の有無を示す情報を取得することができる。
当該対応情報30cに記述された情報には、車両用地図情報30bに記述された情報の複製が含まれるため、制御部20が対応情報30cを参照することは、実質的に車両用地図情報30bを参照していることと等価である。むろん、対応情報30cの態様は一例であり、信号機の有無を示す情報が対応情報30cに記述されておらず、対応情報30cに記述された車両用ノードIDをキーにして車両用地図情報30bを参照し、信号機の有無を特定する構成であっても良い。いずれにしても本実施形態において制御部20は、対応情報30cを取得することによって車両用地図情報30bを取得する。
横断歩道信号取得部22dは、道路上に設定された横断歩道における信号機の有無を、横断歩道が属する交差点についての車両用地図情報に基づいて取得する機能を制御部20に実行させるプログラムモジュールである。すなわち、制御部20は、新たなノードに接続されているリンクに対応づけられた情報によって、当該リンクが横断歩道であることが示されている場合に、信号機の有無を特定する。
例えば、図2Aに示す例において、新たなノードがノードNw1,Nw8である場合、制御部20は、リンクLw1,Lw8に対応づけられた属性を示す情報を取得する。この場合、制御部20は、リンクLw1,Lw8に対応づけられた属性を示す情報を参照し、当該情報が横断歩道であることを示している場合、当該横断歩道が信号機の有無を判定する対象であると見なす。図2Aに示す例であれば、リンクLw1が示す区間は信号機の有無を判定する対象であると見なされ、リンクLw8が示す区間は信号機の有無を判定する対象であると見なされない。
信号機の有無を判定する対象が存在する場合、制御部20は、対応情報30cを参照し、当該信号機の有無を判定する対象である横断歩道の端点であるノードが属する交差点を特定する。図2Aに示す例であれば、制御部20は、リンクLw1の両端を示すノードNw1,Nw2を特定し、当該ノードNw1,Nw2に対応づけられた統合交差点IDを特定する。表1に示す例であれば、制御部20は、ノードNw1,Nw2に対応づけられた統合交差点IDがI1であると特定する。
次に、制御部20は、ノードが属する交差点における信号機の有無を対応情報30c(車両用地図情報30bが複製された情報)に基づいて特定する。例えば、表1に示す例であれば、制御部20は、統合交差点IDがI1である車両用ノードIDを検索してノードNc1を特定し、当該ノードNc1に対応づけられた信号機の有無を参照する。この結果、制御部20は、ノードNc1が属する交差点に信号機が存在すると特定し、ノードNw1,Nw2を端点とする横断歩道に信号機が存在すると特定する。以上の構成によれば、横断歩道における信号機の有無を容易に特定することが可能である。
信号機の有無が特定されると、制御部20は、経路探索部22aの機能により、当該信号機の有無に応じてノードの通過コストを特定し、経路の探索を行う。例えば、図2Aに示す例であれば、制御部20は、ノードNw2の通過コストを、信号機が存在することを示す通過コストに設定する。一方、制御部20は、ノードNw8の通過コストを、信号機が存在しないことを示す通過コストに設定する。
本実施形態において、信号機が存在することを示す通過コストは0より大きい既定値であり、信号機が存在しないことを示す通過コストは0である。従って、本実施形態において制御部20は、横断歩道に信号機が有る場合には無い場合よりも横断歩道の通行に要する所要期間が長いとみなし、所要期間に基づいて経路を探索することになる。従って、横断歩道における信号機の有無を示す情報が、予め歩行者用地図情報30aに記述されていなくても、信号機の有無を反映した歩行者用の経路を探索することが可能である。
(2)経路探索処理:
次に、信号機取得プログラム22による経路探索処理を説明する。図3は、経路探索処理を示すフローチャートである。経路探索処理は、携帯端末100から経路探索要求が行われた場合に実行される。経路探索処理が開始されると、制御部20は、経路探索部22aの機能により、通信部42を介して出発地および目的地を取得する(ステップS200)。すなわち、携帯端末100においては、携帯端末100の利用者が目的地を入力し、携帯端末100の現在地が出発地とされる。そして、出発地と目的地とを示す情報と共に経路探索要求が出力される。制御部20は、通信部42を介して当該出発地および目的地を取得する。
次に、制御部20は、経路探索部22aの機能により、新たなリンクおよびノードを特定する(ステップS205)。すなわち、制御部20は、出発地から目的地に向かう経路の候補を構成するリンクとノードとを仮想的に特定する。この際、制御部20は、確定済みのノード(初期ノードは出発地)から目的地に向かう区間を示すリンクと、当該リンクの端点であるノードとを特定する。例えば、図2Aに示すノードNw0側から経路が探索され、ノードNw1までの最小コストの経路が確定している場合、リンクLw1,Lw8が新たなリンクとして特定され、ノードNw2,Nw8が新たなノードとして特定される。
次に、制御部20は、歩行者用地図情報取得部22bおよび横断歩道信号取得部22dの機能により、新たなリンクが横断歩道であるか否かを判定する(ステップS210)。図2Aに示す例であれば、制御部20は、歩行者用地図情報取得部22bの機能により、歩行者用地図情報30aを参照する。また、制御部20は、横断歩道信号取得部22dの機能により、新たなリンクLw1,Lw8に対応づけられた属性に基づいて、リンクが示す区間が横断歩道であるか否かを判定する。
ステップS210において、新たなリンクが横断歩道であると判定されない場合、制御部20は、ステップS215〜S225をスキップする。一方、ステップS210において、新たなリンクが横断歩道であると判定された場合、制御部20は、横断歩道信号取得部22dの機能により、横断歩道であると判定されたリンクの中から未判定のリンクを一つ選択する(ステップS212)。すなわち、新たなリンクの中に、横断歩道であると判定されたリンクが複数個存在する場合、リンクのそれぞれについて信号機の有無を判定するため、制御部20は、横断歩道であると判定されたリンクの中から未判定のリンクを一つ選択する。図2Aに示す例であれば、横断歩道であるリンクLw1が選択される。
次に、制御部20は、車両用地図情報取得部22cおよび横断歩道信号取得部22dの機能により、退出ノードに統合交差点IDが対応づけられているか否かを判定する(ステップS215)。すなわち、制御部20は、車両用地図情報取得部22cの機能により、対応情報30cを参照する。さらに、制御部20は、横断歩道信号取得部22dの機能により、ステップS212で選択されたリンクの退出側のノードのIDが歩行者用ノードIDとして対応情報30cに記述されているか否かを判定する。図2Aに示す例であればリンクLw1の退出側のノードNw2が対応情報30cに記述されているため、制御部20は、退出ノードに統合交差点IDであるI1が対応づけられていると判定する。
ステップS215において、退出ノードに統合交差点IDが対応づけられていると判定されない場合、制御部20は、ステップS220,S225をスキップする。この場合、ステップS212で選択されたリンクには信号機が存在しないと見なされる。一方、ステップS215において、退出ノードに統合交差点IDが対応づけられていると判定された場合、制御部20は、車両用地図情報取得部22cおよび横断歩道信号取得部22dの機能により、統合交差点IDが対応づけられた車両用ノードIDを検索する(ステップS220)。すなわち、制御部20は、車両用地図情報取得部22cの機能により、対応情報30cを参照する。さらに、制御部20は、横断歩道信号取得部22dの機能により、対応情報30cの中からステップS215で特定された統合交差点IDが対応づけられた情報を特定して順次スキャンし、当該統合交差点IDが対応づけられた車両用ノードIDを特定する。表1に示す例であれば、制御部20は、検索によって統合交差点IDであるI1が対応づけられた車両用ノードIDとしてNc1を特定する。この結果、判定対象の横断歩道は、ノードNc1が示す交差点Ic1に属することが特定される。
次に、制御部20は、横断歩道信号取得部22dの機能により、車両用ノードIDが属する交差点における信号機の有無を取得する(ステップS225)。すなわち、制御部20は、対応情報30cに基づいて、ノードNc1に対応づけられた信号機の有無を特定する。そして、当該信号機の有無が、ステップS212で選択された横断歩道の信号機の有無を示していると見なす。信号機が存在すると判定されたノードには信号機の存在を示す情報が対応づけられる。信号機が存在すると判定されないノードには信号機の存在を示す情報が対応づけられない。
ステップS225が実行された場合、または、ステップS215において、退出ノードに統合交差点IDが対応づけられていると判定されない場合、制御部20は、全リンクについて判定済であるか否かを判定する(ステップS230)。すなわち、制御部20は、ステップS210で横断歩道であると判定されたリンクの全てについて、ステップS212〜S225の処理が実行された場合に、全リンクについて判定済であると判定する。
ステップS230において、全リンクについて判定済であると判定された場合、または、ステップS210において、新たなリンクが横断歩道であると判定されない場合、制御部20は、経路探索部22aの機能により、新たなリンクおよびノードのコストを特定する(ステップS240)。すなわち、制御部20は、歩行者用地図情報30aを参照し、ステップS205で特定された新たなリンクについて、リンクが示す区間の通行の所要期間に応じた通過コストを特定する。また、制御部20は、ステップS225で信号機の存在を示す情報が対応づけられたノードに対し、信号機の存在を示す通過コスト(非0かつ正の値)を対応づける。制御部20は、信号機の存在を示す情報が対応づけられていないノードには、信号機が存在しないことを示す通過コスト(0)を対応づける。
次に、制御部20は、最小コストの経路候補を更新する(ステップS245)。すなわち、ステップS240におけるコストの特定により、通過コストの和が最小であることが確定されたノードが存在する場合、制御部20は、当該ノードが経路を構成すると見なし、通過コストの和が最小でないことが確定されたノードは経路の候補から除外する。
次に、制御部20は、経路探索部22aの機能により、探索が終了したか否かを判定する(ステップS250)。すなわち、制御部20は、目的地までの経路が確定した場合に探索が修了したと判定する。ステップS250において、探索が終了したと判定されない場合、制御部20は、ステップS205以降の処理を繰り返す。
一方、ステップS250において、探索が終了したと判定された場合、制御部20は、経路探索部22aの機能により、経路情報を送信する(ステップS255)。すなわち、制御部20は、通信部42を介して、経路探索の要求元の携帯端末100に対し、探索された経路を示す経路情報を送信する。なお、経路情報の態様は、携帯端末100において経路情報に基づいて経路案内を実施可能な態様であれば良く、種々の態様であってよい。例えば、出発地から目的地までの経路を構成する区間のリンクIDを区間通過順に示す情報等で経路情報を構成可能である。
(3)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、ある地図情報において信号機の有無が定義されておらず、他の地図情報において信号機の有無が定義されている場合において、前者の地図情報を利用する際に後者の地図情報に基づいて信号機の有無を特定する限りにおいて、他にも種々の実施形態を採用可能である。例えば、信号機取得システムや対応関係生成システムは、サーバ10以外の装置(携帯端末100等)で実現されても良い。
また、信号機取得システムや対応関係生成システムは、車両等に搭載された装置であっても良いし、可搬型の端末によって実現される装置であっても良いし、複数の装置(例えば、クライアントとサーバ)によって実現されるシステムであっても良い。さらに、信号機取得システムと対応関係生成システムとは異なる装置によって実現される構成であっても良い。
さらに、車両用地図情報30bおよび歩行者用地図情報30a以外の地図情報、例えば、鉄道用地図情報が利用されても良い。この場合、歩行者が鉄道の駅に到達した後に鉄道を利用して移動することを想定した経路探索、すなわち、マルチモーダルの経路探索を行うことが可能である。
横断歩道取得部21a、交差点取得部21b、対応関係生成部21c、経路探索部22a、歩行者用地図情報取得部22b、車両用地図情報取得部22c、横断歩道信号取得部22dの少なくとも一部が複数の装置に分かれて存在してもよい。例えば、歩行者用地図情報30aが記録された記録媒体を備える携帯端末100において経路探索部22aが実行され、信号機の有無が取得される際に、サーバ10に問合せが行われ、サーバ10で信号機の有無が特定される構成等が採用されても良い。むろん、各部の一部がナビゲーションシステム、他の一部がサーバによって実行される構成等であっても良い。むろん、上述の実施形態の一部の構成が省略や置換されてもよいし、処理の順序が変動または省略されてもよい。
車両用地図情報取得部は、車両が走行する道路と当該道路に存在する交差点における信号機の有無を示す車両用地図情報を取得することができればよい。すなわち、少なくとも信号機の有無を示す車両用地図情報が予め定義されていればよく、車両用地図情報取得部は当該車両用地図情報を取得することができればよい。車両用地図情報の保存先は、信号機取得システムが備える記録媒体であっても良いし、外部のシステムに備えられた記録媒体であっても良い。
車両用地図情報は、車両における各種の用途で使用される地図情報であって良く、例えば、車両のナビゲーションシステムで利用される地図情報であっても良いし、車両を自動運転させるために利用される地図情報であっても良く、種々の構成を採用可能である。従って、車両用地図情報には、横断歩道における信号機の有無を特定する用途以外の他の用途(本来の用途等)が存在する。このため、車両用地図情報においては、車両が走行する道路を示す情報と、当該道路に存在する交差点における信号機の有無を示す情報以外にも、種々の情報が含まれていて良い。例えば、ナビゲーションシステムで利用される地図情報であるならば、道路区間や交差点の通過コストを示す情報や、目的地となり得る施設情報、道路の形状を示す情報等が含まれていて良い。
車両用地図情報において、信号機の有無は、直接的に示されていても良いし間接的に示されていてもよい。後者としては、例えば、車両用地図情報において交差点の通過コストが定義されており、信号機が存在する交差点の通過コストは信号機が存在しない交差点の通過コストよりも大きくなるように通過コストの値が調整されている場合が挙げられる。この場合、通過コストの値の大きさが信号機の存在を示す大きさであるか否かに基づいて信号機の有無を特定することが可能である。
信号機の有無は、交差点における進行方向毎に定義されていても良いし、進行方向に依存しない状態で定義されていても良い。また、信号機に関する他の情報、例えば、信号機によって進行可能な状態とされる時間の長さや方向、現示の種類等を示す情報が含まれていてもよい。これらの各種情報は、横断歩道における信号機の有無を示す情報に付加されても良いし、これらの各種情報に基づいて横断歩道における経路探索が行われてもよい。
横断歩道信号取得部は、道路上に設定された横断歩道における信号機の有無を、横断歩道が属する交差点についての車両用地図情報に基づいて取得することができればよい。すなわち、車両用地図情報においては、交差点における信号機の有無を示す情報が含まれるため、任意の横断歩道が属する交差点について車両用地図情報を参照すれば、当該横断歩道における信号機の有無を取得することができる。
横断歩道は、主に歩行者が道路を横断する(道路幅方向に通行する)区間であるが、むろん、自転車の搭乗者が利用する区間が横断歩道に含まれていても良い。横断歩道は、上述のように歩行者用地図情報30aに基づいて特定されても良いが、他の情報に基づいて特定されても良い。例えば、歩行者用地図情報30aなどの用途が決められていない汎用的な地図において横断歩道の位置等が定義されている場合や、当該地図に含まれる横断歩道のアイコン等に基づいて横断歩道の位置が特定されても良い。
また、道路を横断する区間は横断歩道以外にも存在し得る。例えば、歩道橋や地下道などが存在し得る。これらの区間は信号機による影響を受けないため、道路を横断するための区間が歩道橋や地下道のみである場合、信号機の有無が特定されずに、経路探索等が行われてもよい。横断歩道が属する交差点は、交差点に信号機が存在する場合において当該信号機の現示に従って横断歩道上の通行の可否が決められるような交差点であれば良い。
歩行者用地図情報は、歩行者が通行する道路と当該道路の属性を含んでいればよい。すなわち、歩行者が通行する道路の属性に基づいて道路が横断歩道であるか否か特定することができればよい。むろん、歩行者用地図情報は、他の情報、例えば、区間の距離やコストを示す情報、歩道の有無を示す情報等が含まれていても良い。さらに、歩行者用地図情報において、歩行者が通行し得る道路の全てが網羅されていてもよいし、一部の道路が歩行者用地図情報に含まれなくても良い。後者の場合、存在しない情報を車両用地図情報等の多の地図情報に基づいて補う構成であっても良い。
さらに、歩行者用地図情報の態様は、種々の態様であって良く、一部の横断歩道については信号機の有無を示す情報が含まれている構成であっても良い。例えば、図1に示す構成において、歩行者用地図情報30aが示す横断歩道の一部には、信号機の有無を示す情報が対応づけられている場合が想定される。この場合において、横断歩道における信号機の有無を示す情報が歩行者用地図情報30aに含まれていない場合に、制御部20が、車両用地図情報30bに基づいて、当該横断歩道における信号機の有無を特定する構成であっても良い。この構成によれば、全ての横断歩道について車両用地図情報30bを参照する構成と比較して、処理負荷を低減することができる。
さらに、本発明のように、ある地図情報において信号機の有無が定義されておらず、他の地図情報において信号機の有無が定義されている場合において、前者の地図情報を利用する際に後者の地図情報に基づいて信号機の有無を特定する手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合や、複数の装置によって実現される場合が想定可能であり、各種の態様を含むものである。例えば、以上のような手段を備えたナビゲーションシステムや方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし半導体メモリであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。